电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

can总线通信程序

can总线通信程序_第1页
1/21
can总线通信程序_第2页
2/21
can总线通信程序_第3页
3/21
CAN 总线通信程序 // CAN <==> UART 的协议转换器 // 说明: // 1,单片机使用P89C61X2BA // --晶振11.0592MHZ // --CAN 总线中断使用单片机的中断0,外部有上拉电阻,波特率可以设定 // 2,CAN 总线发送采用查询方式,接收采用中断方式 // 3,看门狗复位时间1.2S // 4,SJA1000 晶振8MHZ,Peil 模式 // 5,串口中断接收,查询发送,波特率可设置 // 6,× × × 当串口收到数据后,每8 个数一组打包,通过 CAN 总线发送出去 // // -----10.16 日,重新修改程序完成以下功能----- // ----此功能已经改为,每收到一帧数据,启动一次 CAN 传输,传输字节数等于串口收到的数据 // ----串行帧的帧间界定通过当前波特率下传输 5 个字节为时间间隔,具体为当顺序接收到的任意两个数据,它们之间的时间间隔大于 5 个字节传送时间,认为这两个数据分属于两个不 同的帧 // 7,当CAN 总线每接收一帧信息后,通过串口发送出去 // 改为可以识别 CAN 的报文字节长度,即串口只发送CAN 报文长度个字节 // 8,看门狗芯片MAX1232CPA,硬件溢出时间1.2S // //------------------------------------------------------- #include #include #include #include "CANCOM.h" unsigned char UART_TX_Data[8] = {0,1,2,3,4,5,6,7}; unsigned char CAN_TX_Data[8] = {0,1,2,3,4,5,6,7}; unsigned char xdata UART_RX_Data[255]; //串口接收到的串行帧 unsigned char xdata CAN_TX_Data[255]; //待发送的数据缓冲区 unsigned char code ACR_ID[4] = {0,0,0,0}; //CAN 初始设置验收滤波值 unsigned char code AMR_ID[4] = {0xff,0xff,0xff,0xff}; unsigned char CAN_TX_ID[4] = {0,0,0,0}; //待发送的目标的ID unsigned char CAN_RX_ID[4] = {0,0,0,0}; //接收到的信息来自何ID unsigned char CAN_RX_Data[8] = {7,6,5,4,3,2,1,0}; //接受到的数据缓冲 unsigned char code CAN_BTR0[10] ={0xdf,0xcf,0xc7,0xc3,0x43,0xc1,0xc1,0xc0,0xc0,0x80}; unsigned char code CAN_BTR1[10] = {0x7f,0x7f,0x7f,0x7f,0x2f,0x7f,0x4d,0x3e,0x3a,0x23}; // 5K 10K 20K 40K 50K 80K 100K 200K 250K 500K unsigned char code UART_BTR[4] = {0xe8,0xf4,0xfa}; // 1.2K,2.4K,4.8K unsigned char CAN_flag; //CAN 发送标志位 unsigne...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

can总线通信程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部