a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于WinCE環境的CAN適配卡驅動程序的設計與實現

基于WinCE環境的CAN適配卡驅動程序的設計與實現

作者: 時間:2009-10-22 來源:網絡 收藏

3

從引言部分可知,流接口可以為各種設備提供統一的訪問接口,可以是字符設備、塊設備、虛擬設備和網絡設備等。的主要流程為[5]:應用程序調用函數CreateFile獲取設備句柄,文件系統將會調用CAN驅動例程中的CAN_Open來響應應用程序的請求。當應用程序調用ReadFile函數讀取CAN設備上的字符時,文件系統將會調用CAN驅動例程中的CAN_Read函數來讀取CAN設備上的字符。

對于本文流接口的而言,是通過如下幾個模塊來驅動的:CAN_Open、CAN _Close、CAN _Read、CAN _Write、CAN _IoControl和CAN _Init等模塊。其中CAN _Init模塊是系統啟動時由文件系統自動調用的,主要完成設備的初始化工作。另外,對于流接口驅動程序可選函數CAN _PowerUp和CAN _PowerDown,主要實現電源管理的功能。

限于篇幅,本文僅對主要的CAN_Write模塊、CAN_Read模塊和中斷服務線程模塊的實現作如下詳細詳細討論。

3.1 CAN_Write模塊的實現

當CAN卡控制器在發送報文時,發送緩沖區對寫操作是鎖定的,這樣CPU必須檢查狀態寄存器的發送緩沖區狀態標志TBS,以確定可以將一個新報文寫入發送緩沖區中,當發送緩沖區被鎖定(即標志TBS=0)時,CPU周期性地查詢狀態寄存器,等待發送緩沖區被釋放;當發送緩沖區被釋放(即標志TBS=1)時,CPU將新報文寫入發送緩沖區中,并置命令寄存器的發送請求標志TR,該標志導致發送的啟動。一旦發送成功中斷產生,表明CAN報文已經發送成功。重復上面的工作就可以完成發送多個CAN報文的工作。CAN_Write模塊的流程圖如圖3所示。

3 CAN_Write函數的流程圖



評論


相關推薦

技術專區

關閉