学者之家电子论坛--打造电子工程师共同致富的平台's Archiver

无中生有 发表于 2008-3-9 15:48

刚写的CAN接收测试程序

<p>这是接收测试程序,上电后就等待接收,收到数据后发送自串口(SJA1000控制器+89S52)BASIC CAN</p><p># include&lt;reg51.h&gt;<br/># include&lt;absacc.h&gt;<br/># define uchar unsigned char<br/># define uint unsigned int<br/># define CR&nbsp;&nbsp; XBYTE[0X00]<br/># define CMR&nbsp; XBYTE[0X01]<br/># define SR&nbsp;&nbsp; XBYTE[0X02]<br/># define IR&nbsp;&nbsp; XBYTE[0X03]<br/># define CDR&nbsp; XBYTE[0X1F]<br/># define ACR&nbsp; XBYTE[0X04]<br/># define AMR&nbsp; XBYTE[0X05]<br/># define BTR0 XBYTE[0X06]<br/># define BTR1 XBYTE[0X07]<br/># define OCR&nbsp; XBYTE[0X08]<br/># define Test XBYTE[0X09]<br/># define TxBufID1 XBYTE[0X14]<br/># define TxBufID2 XBYTE[0X15]<br/># define TxBufDat1 XBYTE[0X16]<br/># define TxBufDat2 XBYTE[0X17]<br/># define TxBufDat3 XBYTE[0X18]<br/># define TxBufDat4 XBYTE[0X19]<br/># define TxBufDat5 XBYTE[0X1a]<br/># define TxBufDat6 XBYTE[0X1b]<br/># define TxBufDat7 XBYTE[0X1c]<br/># define TxBufDat8 XBYTE[0X1d]</p><p>void INITCAN(){<br/>while (Test == 0xaa)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp; Test&nbsp;&nbsp; =0xaa;<br/>&nbsp;}</p><p>&nbsp;while((CR&amp;0x01) != 0x01)<br/>&nbsp;{<br/>&nbsp; CR = 0x03;//进入复位模式<br/>&nbsp;}<br/>&nbsp;while(CDR!=0x48)<br/>&nbsp;{<br/>&nbsp; CDR = 0x48;//Basic CAN模式<br/>&nbsp;}<br/>&nbsp;while(ACR!=0xa1)<br/>&nbsp;{<br/>&nbsp; ACR =0xa1;</p><p>&nbsp;}</p><p>&nbsp;while(AMR!=0xff)<br/>&nbsp;{<br/>&nbsp; AMR = 0xff;<br/>&nbsp; }</p><p>&nbsp;while(BTR0!=0x01)<br/>&nbsp;{<br/>&nbsp; BTR0 = 0x01;<br/>&nbsp;}</p><p>&nbsp;while(BTR1!=0x1c)<br/>&nbsp;{<br/>&nbsp; BTR1 = 0x1c;//250K的BPS,16M的晶振<br/>&nbsp; }</p><p>&nbsp;while(OCR!=0x1a)<br/>&nbsp;{<br/>&nbsp; OCR = 0x1a;<br/>&nbsp;}</p><p><br/>&nbsp;while(0x00!=(CR&amp;0x01))<br/>&nbsp;{<br/>&nbsp; CR = 0x06;&nbsp;&nbsp;&nbsp; //退出复位模式;<br/>&nbsp;}<br/>&nbsp;}</p><p></p><p>void main( ){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uchar Temp,j;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uint&nbsp; i;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; uchar buffer[10];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMOD=0x20;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TL1=0xfd;TH1=0xfd;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SCON=0xd8;PCON=0x00;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TR1=1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(i=0;i&lt;0xfff0;i++);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INITCAN();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Temp = SR;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SBUF=Temp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while( TI==0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TI=0;<br/>&nbsp;do<br/>&nbsp;{<br/>&nbsp;}while((IR&amp;0x01)!=0x01);</p><p>&nbsp;Temp = SR;<br/>&nbsp;SBUF=Temp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while( TI==0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TI=0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[0]=TxBufID1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[1]=TxBufID2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[2]=TxBufDat1;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[3]=TxBufDat2;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[4]=TxBufDat3;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[5]=TxBufDat4;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[6]=TxBufDat5;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[7]=TxBufDat6;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[8]=TxBufDat7;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buffer[9]=TxBufDat8;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(j=0;j&lt;10;j++){<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Temp = buffer[j];<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SBUF=Temp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while( TI==0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TI=0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Temp = SR;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SBUF=Temp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while( TI==0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TI=0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/></p>

无中生有 发表于 2008-3-10 11:52

大家在看贴子的时候,无论是遇到了什么问题还是有什么感想希望都说出来,如果是有什么问题本版主虽才疏学潜担一定会尽力为你解答,回帖是你最好的支持,谢谢!

涛行九天 发表于 2008-3-17 02:02

支持

diskcopy 发表于 2008-3-27 05:53

非常感谢,还希望楼主把电路图也贴出来![em17]

xhming 发表于 2008-5-29 22:56

谢谢斑竹

taiyangshisu 发表于 2008-10-7 13:57

好同志,好版主。改天好好给你歌功颂德以下哈。

zkb45 发表于 2009-11-3 14:55

非常感谢的,顶一个先

页: [1]

Powered by Discuz! Archiver 7.1  © 2001-2009 Comsenz Inc.

302 Found

302 Found


nginx/1.8.0