概述
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、实现方式的全部内容,希望文章能够帮你解决英飞凌 AURIX TC3XX 系列单片机的 CAN 功能实现1、前言2、实现方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复