环境
CanTrcv驱动实际上是要实现CanIf指出的接口,包括5个API函数
CanTrcv_SetOpMode
CanTrcv_GetOpMode
CanTrcv_GetBusWuReason
CanTrcv_SetWakeupMode
CanTrcv_CheckWakeup
CanIf接口会有对应的接口回调CanTrcv的API,包括5个API函数
CanIf_SetTrcvMode
CanIf_GetTrcvMode
CanIf_GetTrcvWakeupReason
CanIf_SetTrcvWakeupMode
CanIf_CheckWakeup
实际上 ,CanIf涉及到CAN控制器驱动和CAN收发器驱动(如TJA1145ATK)
一般来说,CAN控制器属于MCU的片内外设,MCU芯片制造商会提供驱动代码,如在CP AUTOSAR 里面CAN控制器驱动在MCAL软件包;CAN收发器属于MCU片外外设,是需要汽车零部件厂商自定义硬件选型的,然后CAN收发器的驱动一般CAN收发器制造商会提供驱动代码;而汽车零部件厂商负责整合和集成CAN控制器驱动和CAN收发器驱动代码,在这之上做自己的应用逻辑.