<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 淺談Small RTOS51 下CAN總線(xiàn)數據收發(fā)實(shí)現

淺談Small RTOS51 下CAN總線(xiàn)數據收發(fā)實(shí)現

作者: 時(shí)間:2011-09-03 來(lái)源:網(wǎng)絡(luò ) 收藏
(1)實(shí)例部分代碼實(shí)現

  void main(void)

  {

  CpuInit(); //微控制器初始化

  UserTickTimer(void);//系統時(shí)鐘節拍的初始化

  OSStart();//啟動(dòng)small rtos操作系統

  SendData();//發(fā)送數據任務(wù)

  { unsigned char data status;

  unsigned char i;

  unsigned char xdata *p =CAN1_SJA_BaseAdr+REG_CAN_SR ;

  unsigned char xdata *p1;

  status=SJAInit();//初始化can控制器

  if(status!=0){

  OSSendSignal(2); //喚醒錯誤處理任務(wù)

  }

  P_SJAFrameStructApp =(P_SJAFrameStruct )BufCan2[0];

  IT0 =0;//電平觸發(fā)模式

  EX0=1;//使能CAN中斷

  BufCan2[0]=0x88;

  P_SJAFrameStructApp->FrameID=0x11111111;

  while(1)

  {

  OSWait(K_TMO,2);//系統等待函數,每?jì)蓚€(gè)時(shí)鐘周期發(fā)送一次數據

  P_SJAFrameStructApp->FrameID++;

  p1=(unsigned char xdata *)P_SJAFrameStructApp->FrameID;

  for(i=0;i4;i++) //發(fā)送測試數據

  BufCan2[1+i] =*(p1+i);// 0x55;

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

  BufCan2[5+i] =*(p1+i);// 0x55;

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

  BufCan2[9+i] =*(p1+i);// 0x55;

  status=SJASendData(BufCan2,0x10);//向發(fā)送數據,所發(fā)送數據的首地址是BufCan2

  if(status!=0) //表示發(fā)送數據錯誤

  OSSendSignal(2);喚醒錯誤處理任務(wù)

  }

  }

  void DisPlay(void)

  {

  while(1){

  OSWait(K_TMO,1);

  ShowLED(); // led顯示處理

  }

  }

  Error();// 錯誤信息處理任務(wù)

  }

 ?。?) 測試結果:

  如果運行正確:數碼管會(huì )顯示依次加1的數值,否則:數碼管會(huì )顯示E-xx的錯誤代碼

  5 結束語(yǔ)

  的產(chǎn)生與發(fā)展控制器局部網(wǎng)(CAN-CONTROLLER AREA NETWORK)是BOSCH公司為現代汽車(chē)應用領(lǐng)先推出的一種多主機局部網(wǎng),由于其高性能、高可靠性、實(shí)時(shí)性等優(yōu)點(diǎn)現已廣泛應用于工業(yè)自動(dòng)化、多種控制設備、交通工具、醫療儀器以及建筑、環(huán)境控制等眾多部門(mén)??刂破骶植烤W(wǎng)將在我國迅速普及推廣。

  隨著(zhù)計算機硬件、軟件技術(shù)及集成電路技術(shù)的迅速發(fā)展,工業(yè)控制系統已成為計算機技術(shù)應用領(lǐng)域中最具活力的一個(gè)分支,并取得了巨大進(jìn)步。由于對系統可靠性和靈活性的高要求,工業(yè)控制系統的發(fā)展主要表現為:控制面向多元化,系統面向分散化,即負載分散、功能分散、危險分散和地域分散。

  本文作者創(chuàng )新點(diǎn)是實(shí)現了在實(shí)時(shí)操作系統Small 上數據的接收與發(fā)送,用一個(gè)簡(jiǎn)單的實(shí)例來(lái)說(shuō)明了CAN總線(xiàn)的接收、發(fā)送原理。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>