STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
USBX在F407上创建CDC不能正常使用
关于外部事件(EXTI0)触发SPI读取数据
STM32F427ZGTx内部RTC秒及亚秒同步问题
有没有STM32F405RG参考设计
LSM6DS3TR-C静止情况下使用MotionFX固件算出的欧拉角周期性异常跳动
全球论坛无法登录
DMAMUX 使用内部外设Request Event(不使用TIM12和LPTIM)
STM32F429使用FMC接口扩展SDRAM
用STM32F407做U盘拖拽升级,目前BootLoader和实现U盘,后面就不知道怎么操作了。
微信公众号
手机版
既然是第一个数据是0xff, 那不妨挂着示波器调试一下就知道了。
在收到一个数据前后看看就能找到方向了。
感谢回复!前4个是0xff,后面数据正常。能看出代码有什么问题吗
感觉这个写法有问题。阻塞式先是发送,这样写,发送的个数tx_len*tx_len,因为在for循环里,hal库里一句话就是发n个,接收也一样,不过接收每次一个,貌似总数是对的,不过不用for,在size填需要的个数即可。
中断式,没有一开始的发送环节,直接收和发。
[md]感谢评论!请教一下,中断式最后需要return rslt吗
从程序严谨性角度,建议return这个语句的结果,有时,它不一定成功,就算返回hal-ok,只是可以开始收发,传输完成的信息会在中断返回,通过回调函数处理。
这个目前从代码中还没看出来,所以用示波器加调试看最方便。 在接收第一个数据时打断点,看看总线上是什么信号就找到问题点了。
有可能从设备一开始的数据就是0xff或者没有准备好数据。 从设备或许是受到主设备信号才返回数据也有可能的。