中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C2410的CAN總線通信設(shè)計(jì)與開發(fā)

        基于S3C2410的CAN總線通信設(shè)計(jì)與開發(fā)

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


        圖2 濾池就地控制單元硬件結(jié)構(gòu)圖

        3.1 接口軟件實(shí)現(xiàn)

        的SPI可以工作在四種模式,但是MCP2515的SPI接口只支持其中的兩種。因此應(yīng)該將的SPI接口配置為MCP2515支持的模式工作。從圖1中可以看出的SPI應(yīng)該配置為正常模式的中斷方式,具體配置操作請(qǐng)見(jiàn)參考文獻(xiàn)[2]。

        S3C2410-SPI的單個(gè)字節(jié)讀、寫函數(shù)實(shí)現(xiàn)如下:

        unsigned char ReadSPI( void )
        {
        SPRDAT0 = 0x00; // 初始化SPI總線
        while ( !REDY );
        // 判斷接收數(shù)據(jù)是否完成
        return ( SPRDAT0 );
        // 獲取接收到的數(shù)據(jù)
        }
        unsigned char WriteSPI( unsigned char data )
        {
        SPRDAT0 = data; // 寫數(shù)據(jù)到發(fā)送緩沖區(qū)
        if ( DCOL ) return ( -1 );
        // 判斷是否發(fā)生沖突,發(fā)生沖突則返回錯(cuò)誤標(biāo)準(zhǔn)
        else while( !REDY );
        // 否則等待數(shù)據(jù)發(fā)送完成
        return ( 0 ); // 返回發(fā)送成功標(biāo)準(zhǔn)
        }

        對(duì)MCP2515的讀寫函數(shù)原型如下:

        void Mcp_Read( unsigned char Addr, unsigned char *ReadData, unsigned char Length );
        void Mcp_Write( unsigned char Addr, unsigned char *WriteData, unsigned char Length );
        Addr:要讀寫區(qū)域的首地址;
        ReadData/WriteData:讀取數(shù)據(jù)存放區(qū)、寫出數(shù)據(jù)緩沖區(qū)首地址;
        Length:要讀、寫數(shù)據(jù)的字節(jié)數(shù)。

        其它對(duì)MCP2515的操作在此不一一列舉,請(qǐng)見(jiàn)參考文獻(xiàn)[3]。

        3.2 總線數(shù)據(jù)收發(fā)軟件設(shè)計(jì)

        本設(shè)計(jì)采用外部中斷1響應(yīng)MCP2515的總中斷,并且配置控制器始終處于喚醒模式,發(fā)送器工作在正常模式,使能接收、發(fā)送、錯(cuò)誤中斷。中斷方式處理總線數(shù)據(jù)收發(fā)的流程如圖3,分別從發(fā)送處理、接收處理、錯(cuò)誤處理三個(gè)部分加以說(shuō)明。


        圖3 中斷方式實(shí)現(xiàn)CAN總線數(shù)據(jù)收發(fā)流程圖



        關(guān)鍵詞: S3C2410 CAN 總線通信

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉