Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
高級會員
|
我用手觸摸CANRx,CANTx終於有信號輸出了,
原來真的要有Node接在CAN Bus上
發表於: 2021/6/29 2:18
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
高級會員
|
我的理解應該是至少要送出第一筆資料,等待ACK
沒回應的話, FIFO 的Message 才會不再送出去 不知這樣理解對不對?
發表於: 2021/6/28 17:27
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
管理員
|
你好,
謝謝你的發問,我想你的問題也會是許多其他在嘗試寫作 CAN 程式時會碰到的問題喔,所以這絕對是一個對很多人都有用的問題。如果你研究一下 CAN 的Protocol, 你就會發現 CAN 是一個很認真勤奮的 Bus, 它發出 Message 後除了要確認沒有其它節點用 Error Frame 來否定它,也要在 Ack slot 收到 ACK,這兩個都成立了才會算送出了這一個 Message。否則這個 Message 會被重送,並且會被視為發生了 Transmit Error。 因為你沒有接上包括 CAN bus monitor 等的其它 CAN node, 所以沒人幫回 Ack, 送進 FIFO 的Message 就送不出去, 所以塞了四筆資料就 full 了。當然, CAN engine 允許使用者Abort 要傳送的資料,然候 FIFO 就又可以填了。但最根本的決絕之道還是給它找個朋友,也就是可以回應 ACK 的另一個節點喔。 在練習五我們有介紹了兩個可行的方案,就是 Microchip 的 CAN Bus Analyzer, 另一個就是 我們使用 MCU 做成的簡易 CAN Bus monitor 了。它是用即將作為贈品的 APP-BT-CAN-2021 這片實驗板作的。新網路學裡的 CAN202C 也有一個用 APP044 做的簡易 CAN Bus Monitor 可以參考。 另外,因為你的發問,讓我想到可以增加練習六,使用 APP-Nano-C21 做一個簡易的 CAN bus Monitor. 讓有興趣的人用用。 謝謝,祝順心。
發表於: 2021/6/28 11:18
|
|||
|
Re: 請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
版主
|
我問這片實驗板的設計著,看有何意見。
發表於: 2021/6/27 14:55
|
|||
|
請問關於APP-Nano-C21-TW板的CANTx輸出問題
|
||||
---|---|---|---|---|
高級會員
|
不好意思,第一次玩CAN,問個蠢問題,
買了APP-Nano-C21-TW板, 用了APP-Nano-C21-D21-TW 初級開發者學習包的APP_21_D21_TW_101_Lab_All的範例程式 進入除錯模式,斷點設在 CAN0_MessageTransmit(0x100, 4, CAN_TxBuffer, CAN_MODE_NORMAL, CAN_MSG_ATTR_TX_FIFO_DATA_FRAME); 這行 經過4次斷點後就沒再經過此斷點,用示波器和邏輯分析儀看都沒信號輸出,一直維持在3.3V電壓,請問這是正常的嗎? if (CAN0_TxFIFOIsFull() == false) {.....} 代表CAN0_TxFIFO 4次就滿了(TX FIFO是設定4), 為何會沒送出去呢? 還是要連接CAN接收器,C21小板的CANTx才會輸出??? 我用杜邦線連接C21小板的CANRx和CANTx到APP-Nano-BASE-TW底板的(P4)CANRx和CANTx的排針上 然後量底板的U11 ATA6561的輸出也是沒信號變化 我沒有CAN分析儀,不知沒接CAN接收器或分析儀是否C21小板的CANTx就不會有信號輸出? 謝謝!
發表於: 2021/6/24 23:30
Edited by twmic on 2021年06月25日 00:07:44
|
|||
|