Cortex-M3內核芯片LM3S2965的CAN總線節(jié)點設計
其中,ulMsglD用作11或29位標識符的CAN報文標識符;ulMsgIDMask為在使能標識符過濾器時所使用的報文標識符屏蔽;ulFlags保存多個狀態(tài)標志和tCANObjFlags所指定的設置;ulMsgLen是報文對象中的數(shù)據字節(jié)數(shù);pucMsgData是指向報文對象的數(shù)據的指針。
此結構是對與CAN控制器中一個CAN報文對象相關的項目進行的壓縮。可以直接將這個對象的信息填充,即進行對象的賦值工作。下面的代碼是程序中CAN接口部分的初始化部分:

上面的這些函數(shù)都已經通過提供的API函數(shù)完成工作,CANConfigureNetwork函數(shù)要自己編寫,代碼如下:本文引用地址:http://2s4d.com/article/156719.htm
這里僅僅是對前文介紹的對象進行賦值,是將系統(tǒng)中真正用到的對象配置成我們需要的對象(包括是發(fā)送還是接收)。此處鑒于篇幅只給出了兩個對象,一個用于發(fā)送數(shù)據,一個用于接收數(shù)據。上面的函數(shù)設置好后就可以通過CAN中斷控制器來接收和發(fā)送數(shù)據。上述程序代碼在Keil C3.78版本上調試編譯通過,并且已經成功用于產品中。
結語
本文介紹的CAN總線接口節(jié)點設計方案實現(xiàn)非常方便,硬件電路簡單,軟件設計模塊化,可以應用此方案設計實用的系統(tǒng)。本文的接口就是稱重儀表的一部分,可以直接將儀表與傳感器組成的稱重系統(tǒng)接入現(xiàn)有的分布式網絡中。
評論