新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Atmega128嵌入式控制器的設計

        基于Atmega128嵌入式控制器的設計

        作者: 時間:2014-01-07 來源:網絡 收藏

          CAN總線接口如圖4。SJA1000的AD0~AD7連接到的PC口,CS連接到的PG3。PG3為0時CPU片外存儲器地址選中SJA1000,CPU通過地址可對SJA1000執行讀/寫操作。SJA1000的RD、WE、ALE與的引腳相連,INT接Atmega128的PE7,Atmega128可通過中斷方式訪問SJA1000。

        基于Atmega128嵌入式控制器的設計

        (5)與PC機的串行通信

          考慮到智能控制節點要接收從RS232串口來的數據,因而采用了Atmega128的串行口進行中斷接收,所用的引腳是PE0、PE1。通過MAX232進行數據傳輸。
        (6)脈沖輸入脈沖輸出

          由于輸入信號的多樣性,增加了PI/PO部分。
        3MicroC/OS—II的移植

          MicroC/OS—II移植到Atmega128上,需要修改OS_CPU.H,OS_CPU_A.S和OS_CPU_C.C三個與其相關的文件。其中OS—CPU.H主要完成的是數據類型、堆棧單位、堆棧增長方向的定義。相關的數據類型定義:

          typedefunsignedcharBOOLEAN;

          typedefunsignedcharINT8U;//無符號8位數

          typedefsignedcharINT8S;//帶符號8位數

          typedefunsignedintINTI6U;//無符號l6位數

          typedefsignedintINTl6S;//帶符號l6位數

          typedefunsignedlongINT32U;//無符號32位數

          typedefsignedlongINT32S;//帶符號32位數

          typedeffloatFP32;//單精度浮點數

          堆棧單位的定義:

        typedefunsignedcharOS_STK;//堆棧入口寬度為8位

          狀態寄存器的定義:

          typedefunsignedcharOS_CPU_SR;//定義狀態寄存器為8位

        堆棧增長方向的定義:

          #defineOS_STK_GROWTH1;//堆棧由高地址向低地址增長

          0S_CPU_C.C文件主要包括任務堆棧初始化和實現操作系統規定的幾個Hook函數。其中移植需要的Hook函數如下:

          OSTaskCreateHook();OSTaskDelHook()

          OSTaskldleHook();OSTaskStateHook()

          OSTaskSwHook();oSTCBInitHook()

          OSTimeTickHook()



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌拉特前旗| 香河县| 四子王旗| 榆社县| 台江县| 勐海县| 霍山县| 错那县| 故城县| 邵武市| 新龙县| 荥经县| 夏河县| 五寨县| 永丰县| 天台县| 鄂尔多斯市| 邻水| 峨眉山市| 桑植县| 泗水县| 宁海县| 教育| 汶川县| 义乌市| 新源县| 鹰潭市| 屯门区| 凤庆县| 东海县| 红原县| 西丰县| 雅安市| 鄂托克前旗| 贵州省| 额敏县| 张北县| 巴彦县| 介休市| 龙游县| 永定县|