L9663驱动开发
STM32H5F/E 相比 STM32F4 系列最大的优势是什么?
STM32F429 跑起来了
寻求 资源互换
stm32 f411偶发性无法启动大神求助
STM32F1 SPI2 无法通信
在擦除flash时 同时挂起中断 是否会造成卡死以及相关的卡死机制
STM32F407VET6,使用cubeIDE下载跑不起来
FLASH擦除轮询等待时CPU真的会轮询吗
STM32F417 RTC读取亚秒寄存器
微信公众号
手机版
既然是第一个数据是0xff, 那不妨挂着示波器调试一下就知道了。
在收到一个数据前后看看就能找到方向了。
感谢回复!前4个是0xff,后面数据正常。能看出代码有什么问题吗
感觉这个写法有问题。阻塞式先是发送,这样写,发送的个数tx_len*tx_len,因为在for循环里,hal库里一句话就是发n个,接收也一样,不过接收每次一个,貌似总数是对的,不过不用for,在size填需要的个数即可。
中断式,没有一开始的发送环节,直接收和发。
[md]感谢评论!请教一下,中断式最后需要return rslt吗
从程序严谨性角度,建议return这个语句的结果,有时,它不一定成功,就算返回hal-ok,只是可以开始收发,传输完成的信息会在中断返回,通过回调函数处理。
这个目前从代码中还没看出来,所以用示波器加调试看最方便。 在接收第一个数据时打断点,看看总线上是什么信号就找到问题点了。
有可能从设备一开始的数据就是0xff或者没有准备好数据。 从设备或许是受到主设备信号才返回数据也有可能的。