|
關(guān)于CAN總線有個問題想請教下大家
就是我現(xiàn)在用的是一個主機(jī)來控制3個從機(jī)。單片機(jī)程序流程是主機(jī)發(fā)送一個廣播消息,3個從機(jī)接收到消息后執(zhí)行相關(guān)功能,執(zhí)行完后 3個從機(jī)分別給主機(jī)發(fā)送一個消息證明已經(jīng)執(zhí)行完了,然后主機(jī)接收完這3個消息后再發(fā)一個廣播消息,讓3個從機(jī)繼續(xù)執(zhí)行,就這樣一直循環(huán)。現(xiàn)在的問題是 我把接收消息的程序放到了定時器中斷里,10ms讀取一次,發(fā)現(xiàn)有時候從機(jī)就停止執(zhí)行功能了,我用串口打印的方式查找錯誤發(fā)現(xiàn)是主機(jī)這邊有時候會接收不到個別從機(jī)的數(shù)據(jù),但是從機(jī)是發(fā)送正常的。所以應(yīng)該是3個從機(jī)發(fā)送的數(shù)據(jù)沖突了,導(dǎo)致主機(jī)漏掉了數(shù)據(jù)。我目前的解決辦法是讓主機(jī)接收到哪個從機(jī)的數(shù)據(jù)后就給那個從機(jī)發(fā)送消息說不用發(fā)送了。現(xiàn)實情況是之前的從機(jī)偶爾停止情況改善很多,但是還是有,我實在沒有辦法了,想來求助下大家
|
-
1.jpg
(92.65 KB, 下載次數(shù): 95)
下載附件
2022-9-15 19:23 上傳
這是主機(jī)
-
2.jpg
(72.92 KB, 下載次數(shù): 86)
下載附件
2022-9-15 19:23 上傳
這是主機(jī)
-
3.jpg
(110.88 KB, 下載次數(shù): 82)
下載附件
2022-9-15 19:23 上傳
這是主機(jī)
|