327_S32K144 CAN接收功能初步

完整的S32K144的學習彙總如下:

https://github.com/GreyZhang/g_s32k144

    前一陣子花了太多的時間來學習lisp,暫且稍微換一下相應的步伐。繼續S32K144的學習,今天來看看CAN的接收初步。簡單起見,我直接使用SDK進行測試。

    注意到文檔中的幾個關鍵點:

    爲了能夠使用CAN的驅動,首先得調用這個初始化的函數。這部分我們其實已經做完了,之前已經實現過CAN的發送功能以及測試。

    接下來,一部分關於波特率等其他的細節配置的功能全都跳過。既然,發送的功能已經調試出來了,這部分可以不再重複。看一下關於message buffer的使用。

    首先,進行buffer的功能配置,這裏應該是進行一個三選一的操作。其次,通過接下來的6個函數之一進行相應功能的使用。看上去,描述比較明確。接下來,嘗試使用第一個buffer進行對0x100標準幀的報文接收。

    首先增加buffer屬性的設置。

    接下來,進行CAN報文的接收。爲了方便查看,這裏接收到的CAN報文可以再通過串口打印出來看看接收的是否正確。我的查詢頻率是每秒一次,實時性暫時不是很高,這次我們僅僅是看CAN的功能。

    軟件運行後,通過CAN分析儀給開發板發送CAN報文。

    發送之後,從打印的記錄中找到了接收成功的信息提示。接下來,做1個數據以及數據場長度變化的測試。

    查看報文信息,也受到了正確的報文。這樣看,基礎的CAN的接收功能我們是已經測試通過了。

    不過,從我剛剛的測試中我發現一個問題:復位之後的第一次接收,總是提示接收成功。不過,ID以及DLC等都是0。看起來,這裏還有一個特殊的注意點,後面需要確認一下。

    嵌入式算是我現在的主業,不過,已經很久沒能夠有機會傾心去做技術主業了。我覺得這是職業生涯中比較讓人心煩焦慮的一個轉換瞬間,不過,這也說不定會是我新的人生征程的有一個起點。不要去拒絕改變,嘗試接受需要做的改變。祝願看到我學習筆記的你們,也能夠順利完成人生各個階段的角色轉變。

完整的S32K144的學習彙總如下:

https://github.com/GreyZhang/g_s32k144

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章