基于STM32F103实现与上位机的USB-HID通讯。
图 硬件资源
0-Template.rar: (访问密码:1666)https://url48.ctfile.com/f/33868548-1000800634-340337?p=1666
检查、编译正常
?
图4.1 工程模板编译正常
2、打开usb库的Custom_HID工程
基于此库工程进行移植。
?
图4.2.1 usb库工程
库工程编译正常
?
图4.2.2 库工程编译正常
根据实际芯片,烧录合适的工程
?
图4.3.1 库工程烧录正常
?
图4.3.2 ?usb正确识别
4、移植usb设备文件
?
图4.4.1 设备驱动库文件
分别移植.c/.h文件
?
图4.5.1? usb用户文件.c
?
图4.5.2 usb用户文件.h
图4.6.1 usb移植文件
图4.6.2 usb用户文件存放
注意添加文件路径
缺少“platform_config.h”文件,删除替换即可
存在大量库工程使用的测试代码,需要删除,替换为我们需要的内容。
usb_endp.c中
EP1_OUT_Callback | 替换 | EP1_OUT_Callback |
EP1_IN_Callback | 替换 | EP2_IN_Callback |
hw_config.c中
Set_System | 清空 | |
Enter_LowPowerMode | 添加 | |
Leave_LowPowerMode | 修改 | |
USB_Interrupts_Config | 修改 | |
USB_Cable_Config | 清空 | |
EXTI_Configuration | 清空 | |
ADC_Configuration | 清空 | |
Get_SerialNum | 完善ID | |
CustomHID_Reset | 修改端口 | |
CustomHID_SetConfiguration | 修改 | |
CustomHID_Status_In | 清空 | |
CustomHID_Data_Setup | ??暂未修改 | |
CustomHID_SetReport_Feature | ??暂未修改 | |
hw_config.c中
USB_LP_CAN1_RX0_IRQHandler | 添加 |
编译无错误
编译无错误
正常。
无法通讯
修改usb_desc.c中的配置参数
以及usb_conf.h中参数
速度慢了,之后再考虑优化吧