sja1000 can 驱动程序演示实验.docVIP

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

SJA1000 CAN驱动程序演示实验 一.实验目的 本驱动程序展示了如何在Small RTOS?中编写SJA1000 的驱动程序。通过调用CAN 程 序库SJA1000_PEI.LIB 的基本函数,实现实验板上CAN 节点的初始化以及CAN 节点数据 收发测试。 二.实验设备及器件 PC 机 一台 DP-51PROC 单片机综合仿真实验仪 一台 CAN PARK 模块 一台 CAN 连接线 一根 三.实验步骤 1、 将CAN-bus PARK 插入到A6 区中,用导线连接A6 区的P1_IO2 到A2 区的P10, 连接A6 区的P1_CS1 到A2 区的A15。 2、 使用导线把A2 区的P16 和P17 分别于D5 区的SCL 和SDA 相连。使用导线把D5 区的/RST 与VCC 相连。 3、 由于本程序使用中断方式响应SJA1000 中断,故将A5 区的P1_INT 接到A2 区的 INT0。 4、 利用CAN 连接线将两台已经安装了CAN-Bus 模块的DP-51PROC 连接起来,以组 成简单的CAN 网络实现CAN 的接收和发送。 5、 本驱动程序已经将输出文件路径设置为“E:\Temp”,用户可自行更改输出文件路径。 将路径“E:\Temp”中的CAN. hex 文件下载到两台DP-51PROC 中运行。 四.实验参考程序主要部分 /****************************************************** *描述: 独立的CAN 控制器SJA1000PeliCAN 在small rtos 中的应用示例 *文件名: PELIRTOS.c *应用语言: KEIL C51 *应用系统: small rtos *版本 : V1.0 *广州周立功单片机发展有限公司 保留所有的版权 ****************************************************/ #define _TIME_MODULE_H #define _SERIAL_H /******************************************************** ** 导入头文件 ******************************************************/ #include INCLUDES.h #include Sja1000_peli.h sfr IPH=0xb7; sbit RESET_PIN=P1^0; // 验收代码/屏蔽寄存器的内容(4+4) uint8 xdata Send_CAN_Filter[8]={0xf0,0xf0,0xf0,0xff,0xff,0xff,0xff,0xff}; // 帧信息和标示码(1+4)分别对应 TX,TX1,TX2,TX3,TX4 uint8 xdata Send_CAN_Info_ID[3]={0xc7,0x0A,0x0B}; uint8 xdata Recv_CAN_Info_ID[3]; // 待发送数据(8) uint8 xdata Send_CAN_Data[13]={0xc7,0x0A,0x0B,0x04,0x05,0x06,0x07,0x08,0x07,0x08,0x07,0x08, 0x08}; uint8 xdata Recv_CAN_Data[14]; uint8 xdata time_Counter=0; uint8 xdata BTR0,BTR1; uint16 xdata *p; uint8 xdata disp_buf[8]; void CAN_Send(void); void display(void); void CAN_Rcv(void); void TimeSum(void); void Delay_ms(uint8 j); void SJA1000_Config_Normal(void); void Init(void) { CKCON=1; //应用6clock TMOD = (TMOD 0XF0) | 0X01; TCON=TCON|0x04; //MCU 的INT1 下降沿触发,INT0 电平触发 TH0 = (65536 - / 12) / 100) / 256; TL0 = (65536 - / 12) / 100) % 256; TR0 = 1; ET0 = 1; TF0 = 0; } /**************************************************************** **函数名称:void CAN_Init(void) **功能描述:复位SJA10

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档