



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章 CAN控制器模块11.5 CAN控制器的程序设计举例程序如下:1建立中断向量表(汇编).ref _nothing,_c_int0,_GRIS5;声明在其他程序中定义;并在本程序中需要使用的变量或标号.sect.vectors;定义主向量段RSVECTB _c_int0;复位向量INT1 B _nothing;中断向量1INT2 B _nothing;中断向量2INT3 B _nothing;中断向量3INT4 B _nothing;中断向量4INT5 B _GRIS5;中断向量5INT6 B _nothing;中断向量6RESERVED B _nothingSW_INT8 B _nothing SW_INT31 B _nothing2C语言程序#include f2407_c.h / 引用头部文件int CAN_FLAG;/ 定义标志寄存器void sytem_init();/ 声明在程序中需要用到的函数void CANMBX_ISR();void CAN_INIT(); void inline disable() / 中断屏蔽子程序asm( setc INTM);void inline enable()/ 中断使能子程序 asm( clrc INTM);(1) 主程序main() sytem_init();/ 系统初始化程序 CAN_FLAG=0X00;/ 清CAN用户标志,CAN_FLAG=01表示接收到数据 CAN_INIT();/ CAN初始化程序 enable(); / 中断使能 for(;) *TCR=0X20;/ MBX3请求发送 while(*TCR&0X2000=0)/ 等待发送应答continue; *TCR=0X2000; / 清 TA3 和MIF3标志位 while(CAN_FLAG=0)continue;/ 等待接收数据 CAN_FLAG=0;/ 清接收到标志 *MDER=0X0000; / 邮箱不使能 *MCR=0X0140; / CDR=1,数据改变请求 *MBX3A=*MBX2A+1;/ 邮箱2中数据加1用来更新邮箱3中的数据 *MBX3B=*MBX2B+1; *MBX3C=*MBX2C+1; *MBX3D=*MBX2D+1; *MCR=0X04C0;/ DBO=1,CDR=0,ABO=1,STM=1 *MDER=0X04C; / ME2=ME3=1,MBX2接收, MBX3发送 (2)系统初始化子程序void sytem_init() asm( setc INTM);asm( setc SXM);asm( clrc OVM);asm( clrc CNF);*IMR=0x0010;/ 开中断优先级5*IFR=0xFFFF;/ 清中断标志位*SCSR1=0x81FE; *WDCR=0xE8; (3)CAN初始化子程序void CAN_INIT()*MCRB=*MCRB|0X0C0; / 设置IOPC6、IOPC7 为 CANRX,CANTX*CAN_IFR=0XFFFF;/ 清所有CAN中断标志*LAM1_H=0X7FFF;/ 设置邮箱2、3的屏蔽ID寄存器*LAM1_L=0XFFFF;/ 0则ID必须匹配*MCR=0X1040;/ CCR=1 改变配置请求while(*GSR&0X0010=0)continue;/ 当CCE=1 时即可配置 BCR2,BCR1 寄存器*BCR2=0X01;/ 波特率预分频寄存器*BCR1=0X033;/ 波特率设置为1M*MCR=*MCR&0XEFFF;/ CCR=0 改变配置结束请求while(*GSR&0X0010!=0)continue; / 只有当CEE=0时,BCR2,BCR1 寄存器配置成功*MDER=0X040; / 不使能邮箱,邮箱2设为接收方式*MCR=0X0143; / CDR=1,数据区改变请求*MSGID2H=0X2447;/ 设置邮箱2的控制字及ID/ IDE=0, AME=0, AAM=0/ 标准方式为MSGID2H12-2*MSGID2L=0XFFFF;*MSGCTRL2=0X08; / 设置控制域/ 数据长度DCL = 8,RTR=0 数据帧*MBX2A=0X0000;/ 邮箱2信息初始化*MBX2B=0X0000;*MBX2C=0X0000;*MBX2D=0X0000;*MSGID3H=0X2447;/ 设置邮箱3的标识符*MSGID3L=0XFFFF;*MSGCTRL3=0X08;/ RTR=0,DCL=8*MBX3A=0X2211;/ 邮箱3信息初始化*MBX3B=0X4433;*MBX3C=0X6655;*MBX3D=0X8877;*MCR=0X04C0;/ DBO=1,ABO=1,STM=1设置为自测试模式*MDER=0X4C;/ ME3=1,MBX3 发送, ME2=1 接收*CAN_IMR=0XF7FF;/ 中断MBX3 不使能 ,MBX2使能, 低中断优先级*CAN_IFR=0XFFFF;/ 清全部中断标志(4)中断程序void interrupt GRIS5() / 中断入口程序 switch(*PIVR)case 64:CANMBX_ISR();/ 邮箱2接受到相应信息则进入中断服务子程序break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无人机驾驶员职业技能考核试卷及答案(无人机遥控操作)
- 2025年电梯维修工程师资格考试试题及答案解析
- 高校合同审计报告模板(3篇)
- 高清柔性屏采购合同模板(3篇)
- 高空瓦匠施工合同范本(3篇)
- 爱婴医院考试试题及答案
- 卫生健康委员会疾病预防控制体系建设合同
- 汽修厂汽车维修工人劳动合同与职业发展规划
- 专业市场店铺股份收购及供应链整合协议
- 地下商场商铺产权转让协议
- JBT 9189-2016 水基材料防锈试验方法 铸铁屑试验
- 藏餐培训前台课程设计
- JJF 1064-2024 坐标测量机校准规范
- 《春江花月夜》省公开课金奖全国赛课一等奖微课获奖课件
- 人音版小学六年级上册音乐教案(本)
- 19S406建筑排水管道安装-塑料管道
- 《福建省泰宁县》参考课件
- DIP 焊锡外观教材
- 中国儿童青少年身体活动指南
- 加油站人员培训和安全意识教育
- 全国职业大赛(中职)ZZ006水利工程制图与应用赛项赛题库共计10套
评论
0/150
提交评论