新版CubeMX5.1.0生成自定义人体输入型设备(HID)驱动代码报错
2019-07-21 04:35发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
本帖最后由 wmfi 于 2019-3-8 11:05 编辑
新版CubeMX5.1.0生成自定义人体输入型设备(HID)驱动代码报错
使用新版的CubeMX5.1.0选择USB_DEVICE选择 Class For FS IP ——> Custom Human Interface Device Class(HID)如下图
标识1、选择的就是Custom Human Interface Device Class(HID)
标识2、只要选择标识1的类型,标识2的选项就是一个感叹号,并且后面的下拉框没有任何选项
选择这个USB模式后,生成的代码,在usbd_conf.c 文件中,以下函数中会有报错的
void *USBD_static_malloc(uint32_t size)
{
return mem;
}
新版cubemx生成的就会使这个函数报错,我下载5.1.0之前的版本 比如cubemx5.0.1版,生成的代码,在这个函数不会报错,如下图
通过对比发现,CubeMX5.1.0版本选择Custom Human Interface Device Class(HID)生成的代码会使void *USBD_static_malloc(uint32_t size)少一行代码,而CubeMX5.1.0之前的版本都不会产生这个问题,如果我用CubeMX5.1.0选择 Human Interface Device Class(HID)生成的代码,void *USBD_static_malloc(uint32_t size)这个函数内就会有static uint32_t mem[(sizeof(USBD_CUSTOM_HID_HandleTypeDef)/4+1)];这句,而5.1.0之前的版本不管选择哪个类型的HID类型,都不会使void *USBD_static_malloc(uint32_t size)报错
不知道大家有没有遇到这个问题呢,难道是CubeMX5.1.0的BUG吗
一周热门 更多>