在编写CAN总线通讯程序时,首要编写函数由初始化函数,发送函数和接纳函数组成。
其间发送函数一般写为自动发送函数,接纳函数一般选用中止接纳。下面就简略介绍一下三个函数的编写。
1 SJA1000寄存器初始化装备次序
(1)进入复位形式,进行装备
(2)装备时钟分频寄存器,决议Peil形式仍是Basic形式。
(3)装备总线守时寄存器,确认波特率。
(4)装备中止使能寄存器,决议运用那几个中止
(5)装备输出操控寄存器
(6)装备检验码和屏蔽码,决议接纳哪一类节点的数据
(7)退出复位形式,进入正常作业形式。
2 发送数据次序
(1)查询状况寄存器,判别是否正在接纳,是否正在发送,是否数据缓冲区被锁。
(2)装备发送缓冲区。
(3)装备指令寄存器,发动发送。
3 接纳数据次序
(1)选用中止接纳,关CPU中止。
(2)判别是不是接纳中止。
(3)判别是长途帧仍是数据帧
(4)读取数据
(5)开中止