STM32F4 CAN 收發丟數據問題
問題1:CAN速率無法達到1M。速率為1M時,回環模式下可自發自收,工作模式下無法收發。速率為200k時,工作模式下可收發。
分析:捕捉收發信號,信號有所變形。
解決:加終端電阻。
問題2:增加終端電阻后,速率為1M時,可進行收發,但數據丟失率高。當一次性循壞發送200字節以上時,容易出現本端認為數據已發送成功未報錯,對端卻接收不到數據。
分析:鑒於問題1,認為可能是硬件信號匹配的問題,但從軟件方面嘗試解決。
解決:
1)降速到200k,現象未出現。
2)每發送8字節,sleep 1ms,速率為1M時,現象未出現。但這增加延時后的速度也算變慢了,不如直接降速更為方便。