最近在做一个简单的joystick,用来项目调试,既是简单的,那上位机必定不要自己写驱动,利用win7自带的即可。奔着这个目标,花了两天时间整好,中间遇到了不少问题,最大的问题在于USB上。
这是WIN7(设备和打印机)上看到的设置界面
具体事项,下面一一道来。
1、采用STM32F103C8T6+普通摇杆。
2、USB的D+,一定要注意,注意,注意,要接上拉电阻1.5K。否则,USB根本无法被电脑识别。
3、用stm32cube生成项目,包括ADC,USB等。此时生成的代码,是键盘或者鼠标的程序,插上电脑后,即可看到识别出来的设备,我这边选的是鼠标。
4、USB中,用于识别设备的东西,叫描述符,包括设备描述符、配置描述符、端点描述符等,其中最重要的便是,报告描述符,具体可见《USB HID Usage Tables》,其中包括很多实例的报告描述符。此处,便是花了一天多时间才搞明白的,主要还是因为对USB协议不熟悉才造成的。
5、对于stm32cube自动生成的代码中,需要修改的地方主要是
1)、usbd_hid.c下,USBD_HID_CfgDesc[]的wItemLength参数,是报告描述符数组的数目。
2)、usbd_hid.c下,
STM32下实现joystick
最新推荐文章于 2024-09-17 02:38:55 发布