简单平稳过度-回顾2025&说说我心中的ST中文论坛
我最近在用stm32f407做CAN通讯的回环+静默,但是现在显示可以成功发送数据,FIFO接收不到数据,这是什么原因啊
CubeAI如何加载caffe模型
stm32f407的adc采样不稳?
STM32F407VET6 能适配哪些FATFS版本文件
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
无刷电机PWM输出配置
CubeMX+STM32F407VGT6+配置lwip的httpd功能,工程编译报错
workbench5.3.1生成代码问题
微信公众号
手机版
但是在调试时是不能用中断断点,因为接收的数据不会因断点而停下。
可以测试一下从中断发生到FIFO释放大约多长时间,是否来得及。
如果来不及的话,释放一个FIFO后,要即可查查是否FIFO中此时又收到数据以及避免再次中断。
此时在中断服务函数里要小心处理。
我们可以根据具体应用对CAN接收中断服务程序可以针对性地调整。
另外,CAN的速率是否可以考虑放慢一点,给接收端CPU相对充裕的时间来处理接收数据。
是一连串数据的连续发送。
你接收时恐怕就不能让CPU停在接收中断里哦。否则后来的数据
可能就覆盖溢出了。
你的接收中断要做快速处理,快进快出。进去后把msg取走后
赶紧退出。全部接收完成后来处理数据。
使用CAN中断接收数据,中断中只对CAN数据进行接收。在CAN协议层使用多包协议,可以参考各种多包或者自己定义多包的规则协议。这样外部只需要处理队列中的数据,通过协议进行数据包整合。