pic18系列单片机语言应用实例程序例程can_第1页
pic18系列单片机语言应用实例程序例程can_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/该程序实现发送缓冲器0向接收缓冲器0发送数据的自测试模式,其中接收采用中断方式/发送采用查询方式#includep18f458.hintCAN_FLAG;/定义标志寄存器/*初始化子程序*voidinitcan()TRISB=(TRISB|0X08)&0XFB;/设置CANRX/RB3为输入,CANTX/RB2为输出/设置CAN的波特率为125K,在Fosc=4M时,Tbit=8us,假设BRP=01h/则TQ=2*(1+BRP)/Fosc=2*(1+1)/4=1us。/NOMINAL BIT RATE=8TQ,SJW=1,Sync_Seg=1TQ,Prog _Seg=1TQ,Phase_S

2、eg1=3TQ,Phase_Seg2=3TQCANCON=0X80;/请求进入CAN配置模式REQOP=100while(CANSTAT&0X80=0);/等待进入CAN配置模式OPMODE=100BRGCON1=0X01;/设置SJW和BRP,SJW=1TQ,BRP=01HBRGCON2=0X90;/设置Phase_Seg1=3TQ和Prog _Seg=1TQBRGCON3=0X42;/设置Phase_Seg2=3TQ/设置发送邮箱0标识符号和发送的数据TXB0CON=0X03;/发送优先级为最高优先级,TXPRI=11TXB0SIDH=0XFF;/设置发送缓冲器0的标准标识符,本程序采用标

3、准识符TXB0SIDL=0XE0;TXB0DLC=0X08;/设置数据长度为8个字节TXB0D0=0X00;/写发送缓冲器数据区的数据TXB0D1=0X01;TXB0D2=0X02;TXB0D3=0X03;TXB0D4=0X04;TXB0D5=0X05;TXB0D6=0X06;TXB0D7=0X07;/设置接收邮箱0的标识符和初始化数据RXB0SIDH=0XFF;/设置接收缓冲器0的标识符RXB0SIDL=0XE0;RXB0CON=0X20;/仅仅接收标准标识符的有效信息,FILHIT0=0表示RXB0采用filter0RXB0DLC=0X08;/设置接收缓冲器0的数据区长度RXB0D0=0X

4、00;/初始化接收缓冲器0的数据区数据RXB0D1=0X00;RXB0D2=0X00;RXB0D3=0X00;RXB0D4=0X00;RXB0D5=0X00;RXB0D6=0X00;RXB0D7=0X00;/初始化接收滤波器0和接收屏蔽,RXF0SIDH=0XFF;RXF0SIDL=0XE0;RXM0SIDH=0X00;RXM0SIDL=0X00;/初始化CAN模块的I/O控制寄存器/CIOCON=0X00;/使CAN进入某种工作模式模式CANCON=0X00;/=0X40,进入自测试模式;=0 x00,正常操作模式while(CANSTAT&0XE0!=0);/while(CANSTAT&0

5、X40=0);/初始化CAN的中断PIR3=0X00;/清所有中断标志PIE3=0X01;/使能接收缓冲器0的接收中断IPR3=0X01;/接收缓冲器0的接收中断为最高优先级/*接收缓冲器0接收中断服务程序*#pragmainterruptcan_isr#pragmacode low_ISR=0 x18void low_ISR()_asmgoto can_isr_endasm#pragmacodevoid can_isr()if(PIR3bits.RXB0IF=1)CAN_FLAG=1;PIR3bits.RXB0IF=0;/清接收中断标志RXB0CONbits.RXFUL=0;/打开接收缓冲器来接收新信息/*主程序*main()INTCON=0 x00;/禁止所有中断initcan();WDTCON=0;/=1,看门狗使能;=0,禁止看门狗INTCON=0 xc0;/使能中断while(1)TXB0CONbits.TXREQ=1;/请求发送,TXREQ=1while(PIR3bits.TXB0IF!=1);/等待发送完成while(CAN_FLAG=0);/等待接收数据CAN_FLAG=0;/清接收到标志TXB0CONbits.TXREQ=0;/禁止发送TXB0D0=RXB0D0+1;/用接收数据加1来更新发送数据TXB0D1=RXB0D1+1;TXB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论