can(can接口编程实例).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
can(can接口编程实例)

can(can接口编程实例) /* **************************************************************** ** 功能描述: 接收到来自PC机串口通信发来的数据后,将所有接收数据用CAN 转发到从实验板(从CAN) *************************************************************** */ #include pic18.h /* PIC18系列的头文件 */ char CAN_TX_Adress_H,CAN_TX_Adress_L; /* CAN 发送邮箱标识符高低字节 */ char CAN_RX_Adress_H,CAN_RX_Adress_L; /* CAN 接收邮箱标识符高低字节 */ int CAN_FLAG; /* =1接收到CAN 数据,=0未接收到数据 */ unsigned char receive_count=0; /* 232串口接收数据个数寄存器 */ unsigned char send_count=0; /* 232串口发送数据个数寄存器 */ unsigned char *pointer; /* 232串口发送指针 */ unsigned char SciReceiveFlag; /*=1串口收到8个数据,=0未收到8个数据*/ unsigned char receive232[20]; /* 232串口接收数据数组 */ unsigned char send232[20]; /* 232串口发送数据数组 */ /* **************************************************************** ** 函 数 名: initial() ** 功能描述: 系统初始化子程序,放在程序首部 *************************************************************** */ void initial() { INTCON=0x00; /* bit7-bit0:关总中断 */ ADCON1=0X07; /* 设置数字输入输出口 */ PIE1=0; /* PIE1 的中断不使能 */ PIE2=0; /* PIE2 的中断不使能 */ PIE3=0; /* PIE3 的中断不使能 */ } /* **************************************************************** ** 函 数 名: sciinitial() ** 功能描述: 串行通讯初始化子程序 *************************************************************** */ void sciinitial() { SPBRG=25; /* 4M,波特率9600时为SPBRG=25 */ TXSTA=0x04; /* 选择异步高速方式传输8位数据 */ RCSTA=0x80; /* 允许串行口工作使能 */ TRISC=TRISC|0X80; /* RC7(RX)设置为输入方式 */ TRISC=TRISC0Xbf; /* RC6(TX)设置为输出 */ PIE1=PIE1|0x20; /* 允许串行通讯接口接收中断使能 */ RCIP=0; /* 设置SCI接收中断为低优先级中断 */ PIE1=PIE1|0x10; /* 允许中断发送 */ TXIP=0; /* 低优先级中断 */ CREN=1; /* 允许串口接收数据 */ // TXEN=1; /* 允许串口发送数据 */ } /* **************************************************************** ** 函 数 名: initcan() ** 功能描述: CAN初始化子程序,采用标准标识符,正常工作模式 *************************************************************** */ void initcan() { /* ************设置对CAN进行配置*************** */ TRISB=(TRISB|0X08)0XFB; /*设置CANRX/RB3输入,CANTX/RB

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档