<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 安全與國防 > 設計應用 > 基于Cortex-M3內核芯片LM3S2965的CAN總線(xiàn)節點(diǎn)設計

基于Cortex-M3內核芯片LM3S2965的CAN總線(xiàn)節點(diǎn)設計

作者: 時(shí)間:2011-02-15 來(lái)源:網(wǎng)絡(luò ) 收藏

  32個(gè)報文對象是相同的,優(yōu)先級除外。最小編號的報文對象具有最高的優(yōu)先級。優(yōu)先級以?xún)煞N方式影響操作:第一種,如果在同一時(shí)間準備好多個(gè)操作,那么具有最高優(yōu)先級的報文對象將會(huì )首先發(fā)生;第二種,多個(gè)報文對象正在掛起中斷時(shí),如果讀取中斷狀態(tài),則具有最高優(yōu)先級的報文對象首先出現。由應用負責把32個(gè)報文對象作為一個(gè)源來(lái)管理,并確定分配和釋放它們的最佳途徑。

  控制器在下列條件下能夠產(chǎn)生中斷:

 ?、佼斎魏我粋€(gè)報文對象發(fā)送一個(gè)報文時(shí);

 ?、诋斎魏我粋€(gè)報文對象接收一個(gè)報文時(shí);

 ?、蹪M(mǎn)足警告條件,如一個(gè)錯誤計數器達到了限值,或出現多個(gè)總線(xiàn)錯誤時(shí);

 ?、軡M(mǎn)足控制器錯誤條件,如進(jìn)入總線(xiàn)關(guān)閉狀態(tài)時(shí)。

  圖3是總線(xiàn)節點(diǎn)的軟件流程。其中的對象就是一組數據的信息,包括下面結構體的信息:

c.JPG

  其中,ulMsglD用作11或29位標識符的報文標識符;ulMsgIDMask為在使能標識符過(guò)濾器時(shí)所使用的報文標識符屏蔽;ulFlags保存多個(gè)狀態(tài)標志和tCANObjFlags所指定的設置;ulMsgLen是報文對象中的數據字節數;pucMsgData是指向報文對象的數據的指針。

  此結構是對與CAN控制器中一個(gè)CAN報文對象相關(guān)的項目進(jìn)行的壓縮??梢灾苯訉⑦@個(gè)對象的信息填充,即進(jìn)行對象的賦值工作。下面的代碼是程序中CAN接口部分的初始化部分:

d.JPG


  上面的這些函數都已經(jīng)通過(guò)提供的API函數完成工作,CANConfigureNetwork函數要自己編寫(xiě),代碼如下:

f.JPG

  這里僅僅是對前文介紹的對象進(jìn)行賦值,是將系統中真正用到的對象配置成我們需要的對象(包括是發(fā)送還是接收)。此處鑒于篇幅只給出了兩個(gè)對象,一個(gè)用于發(fā)送數據,一個(gè)用于接收數據。上面的函數設置好后就可以通過(guò)CAN中斷控制器來(lái)接收和發(fā)送數據。上述程序代碼在Keil C3.78版本上調試編譯通過(guò),并且已經(jīng)成功用于產(chǎn)品中。

結語(yǔ)

  本文介紹的CAN總線(xiàn)接口節點(diǎn)設計方案實(shí)現非常方便,硬件電路簡(jiǎn)單,軟件設計模塊化,可以應用此方案設計實(shí)用的系統。本文的接口就是的一部分,可以直接將儀表與傳感器組成的稱(chēng)重系統接入現有的分布式網(wǎng)絡(luò )中。

稱(chēng)重傳感器相關(guān)文章:稱(chēng)重傳感器原理

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>