-
概述
本文档是在AT91SAM9X25平台上进行SylixOS CAN总线驱动开发时,对CAN总线初始化流程的分析。
适用于正在学习CAN总线开发的技术工程师。
-
技术实现
CAN总线的初始化流程可以分成两个部分:
一部分是CAN总线通道资源初始化,主要工作是对通道相关的管脚和中断以及总线编程时需要的时钟等资源的初始化;另一部分是CAN总线的硬件初始化,主要工作是对总线的波特率的设置、接收和发送数据邮箱(相当于缓存区)的初始化以及接收中断和错误中断的使能。
-
CAN总线通道资源初始化
在AT91SAM9X25平台上,CAN总线通道资源初始化如图 21所示。CAN总线的TX管脚、RX管脚和时钟的使能以及中断服务函数的绑定是CAN总线在初始化时必须做的工作。CAN总线的通信需要绑定CAN总线上层回调函数,这些上层回调函数由开发者实现,用做应用层和底层的通信。时钟的获取是总线工作需要用到的数据,我们在总线初始化时先将其获取存在全局结构体变量中。
图 21 CAN总线通道资源初始化流程图
具体的代码实现如程序清单 21所示。
程序清单 21 CAN总线通道资源初始化
SylixOS CAN总线初始化流程解析
最新推荐文章于 2025-06-13 16:01:09 发布