我是靠谱客的博主 迷路毛豆,这篇文章主要介绍英飞凌 AURIX TC3XX 系列单片机的 CAN 功能实现1、前言2、实现方式,现在分享给大家,希望可以做个参考。

1、前言

上一篇介绍了 MAMCAN 和多个 CAN 节点的关系,那么这篇讲述的是英飞凌 AURIX TC3XX 系列多核单片机的 MCMCAN 外设功能实现;下面以 TC37X 为例,附完整代码实现。

iLLD库是英飞凌为TC2XX和TC3XX Tricore系列单片机提供的底层驱动库,有完善的使用手册,和较好的移植性。因此本篇的CAN功能基于该库实现。

2、实现方式

2.1、初始化

1、这里每个CAN节点只需要分别定义一个全局结构体变量即可,类型是 IfxCan_Can_Node。不过在此之前建议先定义一个结构体,用来封装各节点的配置信息,方便之前通过查表进行差异性初始化;以 CAN1 和 CAN2 节点为例,使用了同一个 MCMCAN,根据 IO 口确定了属于哪个节点,即CAN1 是节点3,CAN2 是节点2。

typedef struct
{
IfxCan_Can_Pins pin;// 引脚
uint32_t ramBaseAddr;// MCMCAN起始地址
IfxCan_NodeId nodeId;// 节点号
Ifx_Priority priorityfifo0;//FIF0的优先级
Ifx_Priority priorityfifo1;//FIF1的优先级
IfxCan_

最后

以上就是迷路毛豆最近收集整理的关于英飞凌 AURIX TC3XX 系列单片机的 CAN 功能实现1、前言2、实现方式的全部内容,更多相关英飞凌内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(194)

评论列表共有 0 条评论

立即
投稿
返回
顶部