新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于LPC2131嵌入式系統μCOS-II實現CAN通訊

        基于LPC2131嵌入式系統μCOS-II實現CAN通訊

        作者: 時間:2013-09-12 來源:網絡 收藏

        ·數據接受模塊

        根據電路圖1,采用中斷接受的方式來接受數據,的P0.30設置為外部中斷3,整個數據接受模塊由數據接受函數void ReceiveData(uint8 *Rt)、中斷處理函數Can_Exception(void)構成。當SJA1000接受到CAN總線數據,通過接收中斷使得產生外部中斷3而使其進入中斷處理函數,進而對接受到的數據進行處理。其中數據接受函數和中斷處理函數如下:

        void ReceiveData (void)

        {

        uint8 i, err,*Rt;

        OS_ENTER_CRITICAL();

        Rt=(uint8 *)OSMboxPend(OSCANMbox,0,err);

        //通過郵箱接受數據

        for (i=0;i13;i++)

        ReceiveData[i]=*Rt++; //將接受到的數據存在全局變量中供后續處理

        OS_EXIT_CRITICAL();

        }

        void Can_Exception(void)

        {

        u

        int8 temp[13],i;

        OS_ENTER_CRITICAL();

        for (i=0;i13;i++)

        temp[i]=ReadCan(16+i); //讀取CAN數據

        OSMboxPost(OSCANMbox,(void *)temp); //將

        CAN數據以郵箱發送到接受函數

        EXTINT=0x08; //清楚ENT3

        VICVectAddr=0; //中斷返回

        OS_EXIT_CRITICAL();

        }

        結語

        以ARM芯片作為主控制器,CAN總線作為數據傳輸方式來進行通訊的得到了越來越廣泛的應用。同時的可靠性也成為影響系統性能的關鍵部分之一。本文以為例,給出了一類微處理器與CAN控制器SJA1000之間的較為通用的硬件連接方法,對CAN總線進行了可靠性設計,并基于嵌入式實時操作系統進行了軟件開發,該設計現已在工廠車間中的分布式監控系統中得到了應用,運行可靠、穩定。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昭平县| 西吉县| 玉溪市| 诏安县| 红桥区| 黑龙江省| 永川市| 大庆市| 贵溪市| 大石桥市| 怀宁县| 绍兴市| 延安市| 石屏县| 福鼎市| 绿春县| 辽源市| 溆浦县| 磴口县| 古浪县| 康定县| 囊谦县| 丰都县| 普兰县| 林甸县| 沂南县| 东莞市| 松潘县| 怀柔区| 正定县| 大宁县| 蛟河市| 福清市| 桐乡市| 巴林左旗| 延边| 攀枝花市| 奉新县| 阜新市| 大石桥市| 亚东县|