我是靠谱客的博主 迷路毛豆,最近开发中收集的这篇文章主要介绍英飞凌 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、实现方式的全部内容,希望文章能够帮你解决英飞凌 AURIX TC3XX 系列单片机的 CAN 功能实现1、前言2、实现方式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部