记录:usb_hid的调试过程 (调试完毕)
软件stm32cubemx按以前的帖子配置生成后,不改任何东西........
uint8_t reportfs={0x55,0x11,0x33};
uint8_t reportfs={0x55,0x11,0x33};
int main(void)
{
/[i] USER CODE BEGIN 1 [/i]/
/[i] USER CODE END 1 [/i]/
/[i] MCU Configuration----------------------------------------------------------[/i]/
/[i] Reset of all peripherals, Initializes the Flash interface and the Systick. [/i]/
HAL_Init();
/[i] Configure the system clock [/i]/
SystemClock_Config();
/[i] Initialize all configured peripherals [/i]/
MX_GPIO_Init();
MX_USB_DEVICE_Init();
/[i] USER CODE BEGIN 2 [/i]/
uint8_t reportfs={0x55,0x11,0x33};
/[i] USER CODE END 2 [/i]/
/[i] USER CODE BEGIN 3 [/i]/
/[i] Infinite loop [/i]/
while (1)
{
if(addtimefs >=1000)
{
HAL_GPIO_TogglePin (GPIOD,GPIO_PIN_12 );
USBD_HID_SendReport(&hUsbDeviceFS,reportfs ,3);
reportfs ++;
reportfs ++;
reportfs ++;
addtimefs = 0;
}
}
/[i] USER CODE END 3 [/i]/
}
20 个回复
admin
赞同来自:
注意:以上程序如果用官方提供的UsbHidDemonstrator软件测试,
则必须设置
#define USBD_VID 1155
#define USBD_PID_FS 22352
否则不识别.
附上该软件测试图
admin
赞同来自:
admin
赞同来自:
该函数在usbd_desc.c文件
admin
赞同来自:
admin
赞同来自:
admin
赞同来自:
admin
赞同来自: daobiao
再去看了看官方提供的Joystick Mouse HID的应用,
再次修改main函数内容如下;
其中上面的
uint8_t reportfs={0x00,0xf9,0x00,0x00};
这两个数组这样写是因为:
经过抓包官方的Joystick Mouse HID的应用,发现鼠标左右上下移动的数据包类型是:
0x00,0xf9,0x00,0x00这个可以代表左移
0x00,0x00,0xf9,0x00这个可以代表上移
其他的可以用抓包工具自己查看
本次的效果就是1s左移一次鼠标指针.
admin
赞同来自:
增加四个文件,如下:
usb_user.c内容:
admin
赞同来自:
admin
赞同来自:
文件usb_user_OPT.h内容如下;
admin
赞同来自: binggefly
编译,用UsbHidDemonstrator软件测试.
打开软件,自动查找到相应的设备,点击左边第三个按钮Graphic view,
点选右边的对应led灯,板卡上面相应的led会点亮.
注 : 按键发送指令到PC还未添加.
admin
赞同来自:
}
当按键的时候会指示按键状态.实验结束
春水长天
赞同来自:
把CUSTOM_HID_EPIN_ADDR改成0x82,USBD_HID_SendReport(&hUsbDeviceFS , datat, 2);就发送不出去了,哪里还要改吗?
一枝梅
赞同来自:
Seabiscuit
赞同来自:
Once
赞同来自:
一毛
赞同来自:
野蛮少男 - 电子
赞同来自:
想请教下HID协议的报告,控制性传输的获得报告请求,主机会发送报告ID给设备,我再回复相应ID的报告?还是我要一次性把所有的报告内容全部上传呢?
shantoucen2
赞同来自:
请问定义成键盘需要修改和注意什么吗
一叶清风
赞同来自:
谢谢 好东西