技术控

这真的是一个没人要的板子,因为华为的各种资料都是不愿意公开的,反正你就看着我例子用用,其他都是白扯,就算现在安信可他们做了模块,你要拿更多资料,麻烦NDA,而且和其他互联网公司一样,东西搞一套纯Linux开发,但是IAR/Keil这些才符合...

发布 0 条评论

官方默认还没处理OUT,即键盘描述符,主机往从机方向的包,这里也没处理,但是这里对IN实现了,OUT其实也很简单,CH579怎么说呢,就是非常底层的USB控制逻辑,基本一切都要自己控制,不过这样对于初学者是非常好,但是对于已经熟悉一个框架的人...

发布 0 条评论

这段程序将一个GPIO引脚名称字符串(name)解析为数字表示该引脚的编号.具体来说,GPIO引脚名称的格式为"GPIO{bank}_{group}{pin}",其中{bank}为引脚所在的GPIO bank编号,{group}为引脚所在的GPIO组编号,{pin}为引脚在组内的编号.程序首...

发布 0 条评论

从前面已经说的差不多了,现在开始讲描述符,如果搞过USB,会觉得非常熟悉,因为他们真的就是差不多啊.依然是看hidmouseservice.c,他的描述符如下. // HID Report Map characteristic value static CONST uint8 hidReportMap[] =...

发布 0 条评论

最近逛淘宝发现一个特别迷你的板子,ESP32-C3仅引出USB(Built-in JTAG)接口的板子,而且长得很精致,于是买入了一块,根据淘宝店里描述,这一块目前天线电路有问题,我到手后看了一下,是天线背面覆地了,应该只是信号很差,不至于完全没用. ...

发布 0 条评论

运行会相当的慢,但是不依赖任何指令集,SSE什么都不要,但是资源确实占用不大,为了在某些古老OVZ机上运行,没办法. 构建方法: bazel build -c opt --copt="-mtune=generic" --copt="-march=x86-64" //tensorf...

发布 0 条评论

前面还差比较关键的部分,HID的实现,其中advertData在一开始抓包时候已经详细说过了,scanRspData是扫描回复,蓝牙文档里也会说的明白,attDeviceName就是具体设备的名字. void HidEmu_Init() { hidEmuTaskId = TMOS_ProcessEventRe...

发布 0 条评论

之前写过Nginx反代方法的,那么DirectAdmin行不行呢,当然可以,首先新建一个.htaccess文件,目的是重定向所有请求. Header unset Upgrade <ifModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d Rew...

发布 0 条评论

如果反代整个GitHub风险太大,而且可能会被拿去干坏事,所以,这里打算只反代Git客户端访问GitHub,为了方便很多国内无法通过代理或者不方便通过代理的人.另外,这个建议进行白名单IP限制,避免滥用,比如我反代后再套CF,再通过CF限制访问来...

发布 0 条评论

WCH BLE库包含有TMOS调度,所以这里也会大致说一点点,但是绝对不详细.我这里举例用的是HID_Mouse例子. CH57X_BLEInit() -> HAL_Init() -> GAPRole_PeripheralInit() -> HidDev_Init() -> HidEmu_Init() -> TMOS_Sys...

发布 0 条评论