3分钟看懂“打羽毛球因流浪猫绊倒致伤残,投喂者被判赔24万元”

(写这篇文章是因为看新闻看的恼火,那么多人包括律师就没有人直接引用原始文档看看判决究竟讲的是什么。都在强调“爱心”或者“道德退步”等等)。忍不住自己去查了一下。

这个事情是因为裁判文书网的公开所以被众人所知的,因此如果想知道发生了什么,需要去看原始的文档。

https://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=nsblavzcFEjwf6iUEPJ3BF5Orla4JPs5WzfeZDnfDu6BbLO4nWpCUZO3qNaLMqsJlcEe6S1vNd6naPGooBXPL2d+[......]

阅读全文

Step to UEFI (291)Cpp UEFI 007 类

C++ 的类可以看作是一种特别的数据类型。基本的结构如下:

Public 成员相当于 Struct 结构体定义的,可以用 a.x 这种形式访问(public访问权限是全局的);

Private 成员不能直接被类的实体访问,也不能被子类的实体访问,但是可以被类的成员函数访问(private访问权限就是对内不设防,对外设防的);

Protected 成员不能被类的实体访问,但是可以被子类访问,也可以被类的成员函数访问(protected访问权限就是对内不受保护,对外受保护的)

这样设计的目的是:

1、访问权限作用,保护内部资源

(1)private的成员是c[......]

阅读全文

Rapoo V820 VS2019 控制 LED 的代码

Rapoo(雷柏) V820是一款游戏机械键盘,采用雷柏自主机械轴,双色注塑键帽,5个独立游戏G键,全尺寸一体式掌托,USB口109键无冲突,109键可编程,12种背光模式,加厚金属上盖。

它自带了一个颜色控制的程序,经过研究总结出了它的控制方法。使用 USBLyzer 抓取它设置的动作发现应用程序会对设备发送几个 Package。

经过多次实验,确定了2个 Pacakge 是必须的,发送之后键盘会改变LED颜色。第一个是下面代码中的cmdBuffer定义的,第二个是LedBuffer中定义的,所有颜色信息都是通过这个提供给键盘的。LedBuffer[8] 开始是按键的[......]

阅读全文

PCode/PUnit

现代处理器变得越来越复杂,唯一不变的是:性能越强需要的功耗越大。为此,Intel 处理器专门引入了一个控制CPU电力消耗的部件:P-Unit。

P-Unit 是 “P'ower Management 'Unit' for the SOC-N(North)”的缩写。主要功能是负责 SoC-N 上面的 IP 供电/温度。这里的 SoC-N 可以理解为之前的 North Bridge , 包括 Memory Controller ,但是不包括 Graphic(目前 Intel 平台这部分独立成一个 Die)。

P-Uint 不会负责 SoC-S(South,相当于 之前的 South B[......]

阅读全文

USB 键盘整蛊专家

这是一个能够让你整蛊别人的设备,将它串联到对方的USB 键盘和主机之间后,你可以用过手机上的 Blinker蓝牙连接到这个设备,然后在 Blinker中输出的信息就会出现在对方的电脑上。

硬件设计如下:

CH9326是一款HID转串口免驱芯片。CH9326支持双向数据传输,用于接收串口数据,并按照HID类设备规范,将数据打包通过USB口上传给计算机,或者从计算机接收符合HID类设备的USB数据包,并从串口进行发送。通过提供的上位机软件,用户也可自行配置芯片的VID、PID,以及各种字符串描述符。芯片是 SOP16 封装,容易焊接。

设计的基本思路是:ESP32-S3 负责[......]

阅读全文

Step to UEFI (290)Cpp UEFI 006 抄一个 Print

前面编写测试代码的过程中,总感觉没有 Print 直接输出来的顺手,于是研究了一下 Print 的实现。基本原理是,对变量格式化后输出到一个 字符串Buffer 中,然后直接输出Buffer。

首先,编写一个测试的 CPP:

其中使用了 Print.h 头文件,定义如下:

接下来编写Print.cpp,关键代码来自\MdePkg\Library\UefiLib\UefiLibPrint.c

其中的InternalPrint() 函数有较大改动,直接在函数中开了一个内存用于当作 Buffer (CharBuffer[]),不需要AllocatePool()动态[......]

阅读全文

基于Ch554 制作的USB喇叭

很早之前使用 Arduino Pro Micro 实现过USB耳机转接器,这次尝试使用 WCH 的 Ch554 来实现(实际上可以使用 更见偏移的 Ch552 来实现,但是因为 Ch552 有烧写次数限制,所以最终是在 Ch554上进行开发)。

无需过多了解 USB Audio的相关知识,所作的工作基本上只有:通过描述符报告自己是一个USB Audio 设备。之后 Windows 就会发送 48Khz 16位双声道的采样数据给设备(如果想了解更多,推荐去USB中文网阅读相关内容)。我们在设备响应的 OUTPUT 端点上即可收到数据。

需要特别注意的是,代码中有一个向HOST 汇报当[......]

阅读全文