步进马达厂家尺寸_3D步进电机生产厂家

 

 CAN总线节点要有效、实时地完成通信任务,软件的设计是关键,也是难点。它主要包括节点初始化程序、报文发送程序、报文接收程序 以及CAN总线出错处理程序等等。CAN控制器芯片SJA1000的内部寄存器是以作为微控制器的片外寄存器存在并作用的。微控制器和SJA1000之间状态、控制和命令的交换都是通过在复位模式或工作模式下对这些寄存器的读写来完成的。在初始化CAN内部寄存器时注意使得各节点的位速率必须一致,而且接、发双方必须同步。报文的接收主要有两种方式:中断和查询接收方式。为提高通信的实时性,文中采用中断接收方式,而且这样也可保证接收缓存器不会出现数据溢出现象。SJA1000的Basic CAN工作模式是与其前一款PCA82C200独立控制器相兼容的模式,而PeliCAN工作模式支持CAN协议中的更多功能,它的程序设计也与之有所不同。下面给出SJA1000工作在模PeliCAN式下的节点初始化、报文发送、报文接收的196汇编源程序。
 
INITIALIZE: 初始化子程序
 
LDB AL, #09H; 初始化模式寄存器进入复位模式
 
STB AL, MODE; 选择单滤波方式
 
LDB AL, #88H; 时钟分频器
 
STB AL, CDR; 选Peli CAN模式
 
LDB AL, #00H
 
STB AL, ACR0; 初始化接收代码寄存器
 
LDB AL, #60H
 
STB AL, ACR1
 
LDB AL, #00H
 
STB AL, AMR0; 初始化接屏蔽寄存器
 
LDB AL, #3FH; 只接收标识符为2,3的报文
 
STB AL, AMR1
 
LDB AL, #8FH
 
STB AL, IER; 中断使能寄存器
 
LDB AL, #01H; 总线定时寄存器0、1的设置
 
STB AL, BTR0;
 
LDB AL, #1CH; 在16MHz晶振情况下
 
STB AL, BTR1; 波特率设置为250
 
LDB AL, #0AAH
 
STB AL, OCR; 输出控制器寄存器设置 
 

 

除已声明原创作品外,本站作品均由网友自主投稿、编辑整理发布,目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

选型/询价

在线选型报价小程序正加急开发中~_~,建议先关注我们公众号哟

交流社群 在线客服
关注我们
关注我们
分享本页
返回顶部
协作机器人产业服务平台,欢迎您!