<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)T90CAN128單片機的某車(chē)型CAN總線(xiàn)系統設計

基于A(yíng)T90CAN128單片機的某車(chē)型CAN總線(xiàn)系統設計

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

單元提供給駕駛員計算機終端的消息內容包括:單元狀態(tài)信息(7字節,分別為液力制動(dòng)扭矩、機械制動(dòng)扭矩、合成扭矩、速度以及緊急回路和正常油壓的數值,以及正常制動(dòng)回路油位和緊急制動(dòng)回路油位的報警狀態(tài))、單元報警信息(2字節,分別為正常制動(dòng)回路油位報警和緊急制動(dòng)回路油位的報警)、聯(lián)合制動(dòng)單元制動(dòng)返回消息(2字節,分別為收到的前驅或后驅制動(dòng)命令的命令數據和命令值)等。

2.3 軟件設計(通訊部分)

2.3.1 初始化部分

初始化前將CAN通用控制寄存器的最高位置1(復位模式)。完成后,回到操作模式。

下面給出了CAN控制器的初始化程序:

void CAN_INIT ( void )

{

CANGCON = 0x80 ; /*進(jìn)入復位模式并且復位MOb*/

while ( ENFG == 1 ) ; /*測試CANGSTA中的ENFG位是否為0*/

CANGIE = 0xB0 ; /*使能所有中斷及接收、發(fā)送中斷*/

CANIE2 = 0xFF ; /*MOb 0~7中斷使能*/

CANIE1 = 0x00 ; /*MOb 8~14中斷禁止*/

CANBT1 = 0x02 ; /*設置波特率為500kbps*/

CANBT2 = 0x20 ;

CANBT3 = 0x01 ;

CANTCON = 0x8F ; /*設置定時(shí)器預定標*/

/*以“聯(lián)合制動(dòng)單元狀態(tài)查詢(xún)消息”為例*/

CANPAGE = TX_PAGE ; /*指定此消息的MOb頁(yè)(寄存器中的高4位)*/

CANCDMOB = 0x17 ; /*禁止狀態(tài),IDE位為1表示擴展幀,數據長(cháng)度代碼為7*/

CANIDT1 = 0x84 ; /*標識符設置*/

CANIDT2 = 0xB1 ;

CANIDT3 = 0x18 ;

CANIDT4 = 0xF2 ;

CANIDM1 = 0xFF ; /*標識符屏蔽設置*/

CANIDM2 = 0xFF ;

CANIDM3 = 0xFF ;

CANIDM4 = 0xFF ;

CANGCON = 0x02 ; /*進(jìn)入操作模式*/

While ( ENFG == 0 ) ; /*測試CANGSTA中的ENFG位是否為1*/

}

2.3.2 消息的發(fā)送部分

消息的發(fā)送均采用中斷方式實(shí)現。首先通過(guò)設置CANPAGE寄存器來(lái)指定被發(fā)送的頁(yè)數,將數據裝載到CANMSG寄存器中,然后由CANCDMOB寄存器來(lái)控制發(fā)送動(dòng)作,將消息發(fā)送出去,同時(shí)將觸發(fā)CANSTMOB中的TXOK中斷。



評論


相關(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>