TA的每日心情 | 慵懒 7 小时前 |
---|
签到天数: 235 天 [LV.7]常住居民III
荣誉版主
- 积分
- 1779
|
USB-HID & 拔插自动恢复通信 & 自动升级 & C#2022 & HidLibrary库-----完全开源
终于自己搞定了.非常完美,全部开源,大家可随意修改使用!!
/************************************************************************************************
基于STC8H8K64U芯片.用官方的usb库,进行一些修改,目前功能如下:
VID PID 定义:
private const int CJX_VID = 0x34BF;
private const int CJX_PID = 0xFF02;
************************************************************************************************/
1. 支持hid升级,main.c中可以自行修改升级口令,默认:"@ofetcnc",下载一次后,勾选STC-HID升级,并设置VID,PID即可(点一次就可以升级,不用点第二次)
2. 上位机用c# + HidLibrary 库,和单片机交互非常方便.
1) USB拔插自动恢复通信
2) 三个按钮,每个点击后,对应单片机内部三个变量执行加一操作.对应发送指令为: " ofet-cmd1" " ofet-cmd3" " ofet-cmd3"
3) 实时通信线程(ThreadOFET_CheckStatus),周期发送 " ofet-check",单片机收到这个信号,发送数据到上位机
(发送到HID设备的数据,第一个字节默认为 0x00,所以命令第一个字符都是空格,然后发送前修改为 0x00)
3. 压缩包说明:
!vs2022_Demo vs2022工程
app 用户代码
usb 官方库
第一次用C#,好多特性不会用,目前运行倒是没有啥问题,如果有问题,大家可以发出来共同探讨.
最后再总结一下: STC单片机确实好用.
补充:
增加了一个变量,按钮按下发送命令的同时,把变量+1, 然后把变量值显示在按钮上,
每次点击按钮时,实时通信的线程并没有停止,
按钮点击后,我按住回车不松手,,本地变量值和单片机收到命令次数是一致的,相当于一帧数据都没丢.
这个对于实时通信来说,太方便了,啥也不用考虑了.
真不知道单片机内部怎么处理的.居然一帧数据都没有丢失.
C#也是,线程里和主程序都同时使用了HID资源,也没有丢帧..真是省事啊.
!STC8H_HID_模版.zip
(324.22 KB, 下载次数: 133)
|
4
喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
-
+1
楼主威武~
-
+2
楼主威武~
-
+1
楼主威武~
-
+1
楼主威武~
|