<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è) > 嵌入式系統 > 設計應用 > 嵌入式WinCE中CAN總線(xiàn)控制器的驅動(dòng)設計與實(shí)現

嵌入式WinCE中CAN總線(xiàn)控制器的驅動(dòng)設計與實(shí)現

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


  3.2CAN_Read函數的設計實(shí)現

  根據CAN協(xié)議規范,報文的接收由CAN控制器SJAl000獨立完成,收到的報文放在接收緩沖器??梢园l(fā)送給主控制器的報文由狀態(tài)寄存器的接收緩沖器狀態(tài)標志“RBS’’和接收中斷標志“RI”標出(如果使能)。主控制器會(huì )將這條信息發(fā)送到本地的報文存儲器,然后釋放接收緩沖器并對報文操作。發(fā)送過(guò)程能被SJAl000的中斷請求或查詢(xún)SJAl000的控制段狀態(tài)標志來(lái)控制。cAN_Read函數操作成功則返回實(shí)際讀取的字節數,否則返回值為-1。CAN_Read函數程序的流程圖如圖3所示。

  3.3CAN_IntrThread函數的設計實(shí)現

  在SJAl000控制器中,報文的發(fā)送和接收是采用中斷方式來(lái)完成的。內核函數InterruptInitialize()外部中斷事件和將邏輯中斷號綁定,這一步就會(huì )使能該中斷。當該中斷發(fā)生時(shí),ISR就觸發(fā)該事件生效。完成以上工作后,驅動(dòng)程序中的IST就可以使用WaitForsin-gleObject()函數等待中斷的發(fā)生。中斷處理結束后,IST需要調用InterruptDone()告訴操作系統中斷處理結束。中斷服務(wù)線(xiàn)程CAN_IntrThread函數程序流程圖如圖4所示。

  其他的流接口函數根據wincE流接口驅動(dòng)程序模型進(jìn)行編寫(xiě)。

  4驅動(dòng)程序的封裝及加載

 通過(guò)上面的工作,能夠編譯得到一個(gè)DLL函數,但它的接口函數還沒(méi)有導出,還需要告訴鏈接程序需要輸出什么樣的函數。為此,必須建立一個(gè)def文件,使用WindoWS下自帶的記事本程序編輯一個(gè)文件名為“Can.def”的文件:

  最后需要編寫(xiě)自己的CEC文件。主要是添加一個(gè)BuildMethod,任務(wù)是復制注冊表到的系統目錄下面。加一個(gè)bibFile,其主要功能是把編譯的can.dll文件添加到系統內核中去。保存寫(xiě)好的CEC文件,在.PlatformBuildm中添加CEC特征到系統選項中去。生成系統時(shí),添加自己的CEC特性,可以包含剛編寫(xiě)的can驅動(dò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>