331_S32K144 CAN FIFO初步

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

https://github.com/GreyZhang/g_s32k144

    繼續S32K144的學習,這次來看看CAN的FIFO接收模式。FIFO的功能是使用多個buffer級聯,組成一個隊列的方式實現隊列的報文接收。使用FIFO,可以讓驅動軟件設計更加簡潔。同時,FIFO在接收的能力上也是很強的,可以讓我們在後期軟件處理上有更多的設計嘗試。

    配置S32K144的FIFO功能比較簡單,直接在SDK配置界面中使能即可。

    接下來,進行接收掩碼錶的設置。

    這樣,可以讓軟件接收8個擴展幀的報文,ID數值爲1~8。

    爲了方便觀察,我在軟件中通過串口將接收到的報文打印出來。上面是報文ID爲5的擴展幀被接收到的狀態。

    以上是簡單的測試代碼。

    經過測試,報文0~10。除了我們設置的1~8的擴展幀都無法接收。跟預期的相符,其他的ID無法接收。

    在增加一組對比測試,看看對標準幀的是被情況。代碼只需要做如下修改:

    重新測試,也只有8個標準幀的報文可以被接收到。

    以上算是今天對S32K144 CAN FIFO接收的一個初步的認識,這還很不滿足一般的工程應用。即使是filter table擴充到128個,也算不上是很靈活。雖然,128個的table接收也能夠滿足很多工程需要。下一次,我們嘗試做一下對全部ID報文的無差異接收。

    今天有事過得比較焦慮的一天,跟曾經一個老同事做了一下交流。一個讓人感覺謙虛務實的一個高級工程師,也讓我曾經從他身上學到了很多東西。所謂見賢思齊,我覺得我應該向他學習。很多人都提到過中年焦慮,我今年33歲,也到了這個焦慮的階段了。不敢想,轉眼間,我很快會到35歲,時光非常狠!

    “時光,憑你多狠!我的愛在我的詩裏將萬古長青!”祝願看到我學習筆記的人,擁有詩一樣的生活,讓愛在生活中萬古長青!

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

https://github.com/GreyZhang/g_s32k144

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