我自己开发的CAN总线实验软件

源代码在线查看: 帮助&初始化.txt

软件大小: 5400 K
上传用户: ggh062
关键词: CAN 总线 实验 软件
下载地址: 免注册下载 普通下载 VIP

相关代码

				※SJA1000的初始化
				  每个智能芯片都要初始化,特别是对于SJA100这样的复杂芯片。这里将采用最精简的初始化步骤。
				
				  SJA1000的初始化需要做的内容个操作寄存器是:
				  1.模式寄存器(MODE)。设置MODE.1=1,使SJA1000进入复位模式.(MODE=0X01,0X09,0X0D)都可以,只要满足MODE.1=1就可以.只有进入复位模式,才能正常初始化SJA1000.
				
				  2.设置SJA1000的CAN滤波器.寄存器地址为:0X10-0X17.其中,0X10-0X13对应的是CAN的接收代码(ACR3-ACR0),0X14-0X17对应的是屏蔽代码(AMR3-AMR0).这8个值可以有用户根据实际情况设置,理论上说,在0-0XFF之间没有什么限制.(ACR0除外)
				
				  3.设置总线时序寄存器(BTR0,BTR1),输出控制器(OCR)和时钟分频寄存器(CDR).总线时序寄存器(BTR0,BTR1)的设置内容可以自己根据需要进行设置,也可以按照以下的表来设置;输出控制器的值也可以由自己设置,也可以参考标准值(0X1A);时钟分频寄存器的设置很重要,必须在这个寄存器里,设置SJA1000的工作方式:BaseCAN方式还是PeliCAN方式.为了能够胜利通信,必须把SJA1000设置为PeliCAN方式(0XC8).
				
				  4.退出复位模式并选择滤波方式,都在模式寄存器中设置.推荐使用0X08,即:单滤波方式,进行正常工作.
				
				  提醒:以上4步是SJA1000初始化内容所必须的,缺一不可.当然,还有部分寄存器也可能需要在初始化的时候进行设置,这里就没有列出来,详细请参考教材的相关内容.
				/===================================================
				由CiA推荐的标准波特率(16M晶振):
				
				波特率		BTR0	BTR1
				10Kbps		0x31	0x1c
				20Kbps		0x18	0x1c
				50kbps		0x09	0x1c
				100kbps		0x04	0x1c
				125kbps		0x03	0x1c
				250kbps		0x01	0x1c
				500kbps		0x00	0x1c
				800kbps		0x00	0x16	
				1000bps(1Mbps)	0x00	0x14	'这个波特率最好别用,现有硬件不能胜任.
				
				
							

相关资源