原创 CAN总线学习系列之七——CAN总线软件编程

2007-11-24 18:02 7769 11 12 分类: 汽车电子

   在编写CAN总线通讯程序时,主要编写函数由初始化函数,发送函数和接收函数组成。


其中发送函数一般写为主动发送函数,接收函数一般采用中断接收。下面就简单介绍一下三个函数的编写。


1 SJA1000寄存器初始化配置顺序<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


1)进入复位模式,进行配置


2)配置时钟分频寄存器,决定Peil模式还是Basic模式。


3)配置总线定时寄存器,确定波特率。


4)配置中断使能寄存器,决定使用那几个中断


5)配置输出控制寄存器


6)配置验收码和屏蔽码,决定接收哪一类节点的数据


7)退出复位模式,进入正常工作模式。


2 发送数据顺序


1)查询状态寄存器,判断是否正在接收,是否正在发送,是否数据缓冲区被锁。


2)配置发送缓冲区。


3)配置命令寄存器,启动发送。


3 接收数据顺序


1)采用中断接收,关CPU中断。


2)判断是不是接收中断。


3)判断是远程帧还是数据帧


4)读取数据


5)开中断


点击看大图

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户377235 2013-9-26 16:45

初学者 我觉得这很不错 谢谢
相关推荐阅读
用户393569 2011-10-14 10:26
ucos-ii 中断服务程序需要做的事情
用户中断服务子程序需要按以下顺序完成这些工作:保存全部CPU寄存器; (1)调用OSIntEnter或OSIntNesting直接加1; (2)执行用户代码做中断服务; (3)调用OSIntExit(...
用户393569 2011-10-14 10:17
ucos-ii 任务状态
下图是μC/OS-Ⅱ控制下的任务状态转换图。在任一给定的时刻,任务的状态一定是在这五种状态之一。   ...
用户393569 2011-01-15 09:59
与书配套-CAN学习板第六版照片
...
用户393569 2009-10-27 07:17
【转载】hxhxin网友:我的自收发实验成功了.........
 当买来CAN学习板时,看着板子精致的,说实话,都不舍得碰,怕碰坏了。更别说用板子来做实验了,简直是无从下手。因为我的专业是电力系统自动化,学的都是强电类的,对这个小板子还真的不了解。经过近一个半月的...
用户393569 2009-10-23 20:07
【推荐!】akuei2网友的CAN学习笔记分享
akuei2网友一直在我们小组很活跃,积极发表自己的一些学习经验。这几天有机会看了他在EDN博客上发表的几篇CAN的学习笔记,觉得写得非常好!还没有征得他的同意我就想转载进来,这里把连接标出来,供大家...
用户393569 2009-08-23 19:30
出差了!
今晚就要出差了,出差过程中白天不方便上网,不能看大家的发帖了.晚上有时间会尽量来EDN上转转,与大家共同学习!在这器件如果您有问题,可以发邮件给我.如果你购买了无线模块,而还没有收到程序,那么请将你付...
EE直播间
更多
我要评论
1
11
关闭 站长推荐上一条 /3 下一条