b) CAN 总线通信 CAN 总线通信软件主要由初始化程序、发送程序和接收程序3 部分组成。初始化程序设置CAN控制器中的各个寄存器,包括模式寄存器、时分寄存器和输出控制器等。由于这些寄存器只能在复位期间设置,故必须在通信开始之前就对CAN 控制器进行初始化。CAN 发送程序主要是将要发送的信息帧送到发送缓冲区中去,再启动发送命令即可(如图5 所示) ; 接收程序与发送程序类似,只需要将数据从接收缓冲区中取出即可。
在设计CAN 通信模式的时候,采用多主的通信方式,即CAN 总线上每个节点都可以任意地向其他节点发送和接收报文,每个节点上的通信程序具有相似性,故只要把一个节点的通信程序调通后,其他的节点上的通信程序可以仿效之。 图5 CAN 总线发送程序流程图