我在用STM32F401CB,使用TIMER2中断,中断时读取传感器数据,并通过USB传送回PC,以方便调试。但是我发现在中断内USB传送总是出错,传送的数据字节数是正确的,但是每一字节的内容都不对。在main中中测试过USB没有问题的。 进入USBD_CDC_TransmitPacket的数据是没有问题的,最后也return USB_OK了,单步调试也没找到问题,不懂USB协议。。。代码是cubeMX生成的,请大家帮我分析一下是啥问题。 代码如下:
|
STM32F105 USB HID RCC設定
stm32 USB的CDC类传输掉数据
STM32F105 USB接收数据不断进入中断,出现“死机”现象
关于STM32CubeMX配置的USB例程电脑无法识别问题
STM32F407 USB-HS-OTG是否不外接PHY可以做虚拟串口?
如何做一个USB从机键盘用stm32f407
用STM32F4 Cube MX生成的USB Device C代码的BUG
USB Device + FatFS + SDIO 模拟U盘意外只读问题
USB Device + FatFS + SDIO 问题
STM32H7配置成USB DEVICE时,连接电脑时不进入中断
微信公众号
手机版
现在每次都接收到00 00 00 00 01 00 00
由于在main传送是正确的。所以可以把传感器数据设置成全局变量,在中断中读取,然后在main的while中去传送,这样是可以工作的,但是总感觉这么做很别扭。
在main的while中去传送应该不别扭吧,在中断中才不是最好的选择。
我想的是在中断中读到了就立马发出去。不过在中断中放太多东西进去确实也不好。
试过全局变量,还是一样的。
如果全局变量还不行,那在调用下面的代码的时候要发送的数据是否正确。跟进去看下什么时候被修改了没有。