AUTOSAR源码分析之一
发布时间
阅读量:
阅读量
AUTOSAR CANIF接口分析:canif.c/can.c
- 初始化过程
在启动事件(IRQ)下配置CAN总线中断,在启动事件(IRQ)下保存与恢复状态。
通过以下路径完成初始化流程:
StartupTask→ CanIf.init控制器→ Can.init控制器→ Can.init→ 子程序ISR_INSTALL_ISR2("DCAN1Level0", Can1_interrupt_handler, CAN1_LEVEL_0, 2, 0)→ 直接封装Can_interrupt_handler
根据类型区分初始化逻辑,在此过程中使用一个unit8类型的变量存储实例编号,默认值从0开始。
数据传输:数据传输呈现出两种模式:一种是基于定时任务的消息队列处理;另一种是直接调用发送程序
某种基于SchM_BswService的任务注册机制触发后会依次执行全能通道主函数、主函数、内部定时消息传输时间、内部消息传输以及最终完成转换并达到可写状态
发送数据地址信息包含以下字段:uint32_t StdId(范围在0到0x7FF之间),uint32_t ExtId(范围在0到0x1FFFFFFF之间),是否可以用一个32位单元来编码?
数据接收过程:
采用中断方式处理的数据接收过程:
InterruptHandler通过process RxMsgObject完成
全部评论 (0)
还没有任何评论哟~
