<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線和虛擬儀器技術(shù)的汽車CAN節(jié)點(diǎn)測試儀設(shè)

          基于CAN總線和虛擬儀器技術(shù)的汽車CAN節(jié)點(diǎn)測試儀設(shè)

          作者: 時(shí)間:2009-08-20 來源:網(wǎng)絡(luò) 收藏

          writesja1000(MODADDR, 0x09);

             //設(shè)置方式寄存器,進(jìn)入復(fù)位操作以初始化

          writesja1000(CDRADDR, 0x88);

             //設(shè)置時(shí)鐘分頻寄存器,選Peli模式

          writesja1000(AMR0ADDR, AMR0 );

             //設(shè)置接收屏蔽寄存器0

          writesja1000(AMR1ADDR, AMR1);

             //設(shè)置接收屏蔽寄存器1

          writesja1000(AMR2ADDR, AMR2);

             //設(shè)置接收屏蔽寄存器2

          writesja1000(AMR3ADDR, AMR3);

             //設(shè)置接收屏蔽寄存器3

          writesja1000(ACR0ADDR, ACR0);

             //設(shè)置接收驗(yàn)收代碼寄存器0

          writesja1000(ACR1ADDR, ACR1);

             //設(shè)置接收驗(yàn)收代碼寄存器1

          writesja1000(ACR2ADDR, ACR2);

             //設(shè)置接收驗(yàn)收代碼寄存器2

          writesja1000(ACR3ADDR, ACR3);

             //設(shè)置接收驗(yàn)收代碼寄存器3

          writesja1000(BTR0ADDR, 0x03);

             //設(shè)置定時(shí)器0

          writesja1000(BTR1ADDR, 0xFF);

             //設(shè)置定時(shí)器1

          writesja1000(OCRADDR, 0xAA);

             //設(shè)置輸出寄存器

          writesja1000(RBSAADDR, 0x00);

             //設(shè)置接收數(shù)據(jù)緩沖區(qū)首地址

          writesja1000(TXERRADDR, 0x00);

             //清除發(fā)送錯(cuò)誤寄存器

          writesja1000(RXERRADDR, 0x00);

             //清除接收錯(cuò)誤寄存器

          readsja1000(ECCADDR);

             //清除錯(cuò)誤代碼捕捉寄存器

          writesja1000(IERADDR, 0xFF);

             //打開中斷使能寄存器

          writesja1000(MODADDR, 0x08);

             //設(shè)置方式寄存器,進(jìn)入政黨操作模式以收發(fā)數(shù)據(jù)

          writesja1000()和readsja1000()是封裝好的底層函數(shù),其具體實(shí)現(xiàn)如下:

          static void writesja1000(unsigned char addr, unsigned char data)

          {
            *SJAADDR = addr;

            *SJADATA = data;
          }

          static unsigned char readsja1000(unsigned char addr)

          {
            *SJAADDR = addr;

             return *SJADATA;
          }

          本文引用地址:http://www.ex-cimer.com/article/197825.htm  
            
            其中SJADATA、SJAADDR分別是為讀/寫SJA1000的數(shù)據(jù)或地址所分配的AT91RM9200地址。
            
            接收數(shù)據(jù)和發(fā)送數(shù)據(jù)均采用中斷來實(shí)現(xiàn),基于中斷的數(shù)據(jù)處理流程是通訊程序的重點(diǎn),其具體實(shí)現(xiàn)流程如圖4所示:
            


            
            
            結(jié)束語
            
            與傳統(tǒng)的8/16位單片機(jī)測試儀系統(tǒng)相比,本文介紹的測試儀基于32位ARM9處理器,運(yùn)行速度可高達(dá)180MHz,擴(kuò)展能力強(qiáng);采用Linux操作系統(tǒng),軟件更加模塊化,更新和移植更加方便,運(yùn)行更穩(wěn)定;采用實(shí)現(xiàn)測試儀的操作面板,便于功能擴(kuò)展,通用性強(qiáng)。在對(duì)節(jié)點(diǎn)現(xiàn)場測試時(shí),該測試儀運(yùn)行穩(wěn)定快速,保證了該產(chǎn)品的順利生產(chǎn)。

          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();