最近,使用F4CubeMX 生成基于F407的USB HOST的代码,的确非常方便,代码质量也很规范整齐。但是在调试USB的驱动过程中遇到一个问题,在文件stm32f4xx_ll_usb.c中,有一个函数如下: HAL_StatusTypeDef USB_HC_StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_HCTypeDef *hc, uint8_t dma) { ...... if (hc->xfer_len > 0) { num_packets = (hc->xfer_len + hc->max_packet - 1) / hc->max_packet; //是否会出现除0的情形 if (num_packets > max_hc_pkt_count) { ......} 当时由于程序的错误, 被除数hc->max_packet的值是0,但吊诡的是,这一句居然也能顺利执行,没有激活任何中断。 难道STM32即使除以 0 都可以安然无恙? |
STM32f407ZG使用STM32CubeMX创建USB应用失败
关于STM32的高精度定时器应用问题请求帮助
STM32L031X 1.65V 低压应用
L6470的应用问题,高速不转振动
STM32F1的IAP程序,APP1和APP2两个应用程序交替更新的问题
MDK能否仿真App应用程序(STM32起始地址不为0x08000000)?
现金悬赏-STM32F4Cube生成的USB HID应用无法接收数据
STM32F030F4P6待机模式唤醒应用问题
J-Trace调试器针对什么应用场合?
STM32的USB host CDC应用
评分
查看全部评分