简单平稳过度-回顾2025&说说我心中的ST中文论坛
我最近在用stm32f407做CAN通讯的回环+静默,但是现在显示可以成功发送数据,FIFO接收不到数据,这是什么原因啊
CubeAI如何加载caffe模型
stm32f407的adc采样不稳?
STM32F407VET6 能适配哪些FATFS版本文件
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作
stm32 SPI 实现biss.c
无刷电机PWM输出配置
微信公众号
手机版
既然是第一个数据是0xff, 那不妨挂着示波器调试一下就知道了。
在收到一个数据前后看看就能找到方向了。
感谢回复!前4个是0xff,后面数据正常。能看出代码有什么问题吗
感觉这个写法有问题。阻塞式先是发送,这样写,发送的个数tx_len*tx_len,因为在for循环里,hal库里一句话就是发n个,接收也一样,不过接收每次一个,貌似总数是对的,不过不用for,在size填需要的个数即可。
中断式,没有一开始的发送环节,直接收和发。
[md]感谢评论!请教一下,中断式最后需要return rslt吗
从程序严谨性角度,建议return这个语句的结果,有时,它不一定成功,就算返回hal-ok,只是可以开始收发,传输完成的信息会在中断返回,通过回调函数处理。
这个目前从代码中还没看出来,所以用示波器加调试看最方便。 在接收第一个数据时打断点,看看总线上是什么信号就找到问题点了。
有可能从设备一开始的数据就是0xff或者没有准备好数据。 从设备或许是受到主设备信号才返回数据也有可能的。