英飞凌AURIX2G系列TC37x——MCAL配置之 Port & Dio(Draft版本)

前言
工作原因,要根据需求配置MCAL,虽然之前有过了解,但停留在理论层面,本篇注重实战。也不按必须的模块顺序进行配置了,从Port开始吧。
顺便问大家一句 TC37x_DP 跟 TC37x_ED啥的有啥区别?
(完整版请移步: 英飞凌community

Port

打开EB Tresos 软件的Port模块,General和Published Information的部分没啥好说的,我就按默认了。

(其实是我也不清楚这个API我要不要用,也没人告诉我,先按默认来,不能因为非重要的地方阻碍了脚步)

PortContainer

  1. 首先,打开DataSheet 第二个章节 TC37x Pin Definition and
    Functions
    看到有很多PortPin的说明:

    P00.1-P00.12 P01.3-P01.7 P02.0-P02.11 P10.0-P10.8 …
    每个Port算一个Container, TC37x一共17个,具体数出来,还是建立工程时自动生成 有待研究;

EB界面

上图中PortNumber 也就是Port号,不连续
PortNumberofPortPins 是不同的Port下包含几个Pin;

  1. 双击进入Container内部,会有Pin的具体配置: General部分,与上述内容相一致 LVDS还没用到,先空着吧;
    至于一个Port内是否需要把所有引脚都配置里,还是只配置用到的pin,有待研究;

PortPin
可以再此表格基础上配置,当然双击进入能一目了然,

  1. 我们双击进入一个Pin的配置

General
一目了然的我就不讲了,我讲讲我自己配置的时候有疑惑的几个配置项
PortPinDirection为 IN时,灰色部分不可更改,其实也就是不重要,所以不用关心PULL_UP和Level为LOW冲突的问题,只需要配置上拉或者下拉,和PadLevel
(一般都是CMOS,以太网用RGMII,不特殊说明就按默认)
在这里插入图片描述

PortPinDirection为 OUT时,上拉下拉不重要。
首先为复选模式选择,普通IO就选GPIO,ALT1-7要根据需求和手册,配成O1到O7
在这里插入图片描述
LevelValue 为默认时输出的是高电平还是低电平,也是根据需求来,需求没强调就随便咯。
DriverStrength 没研究,按DEFAULT

DriveMode PUSHPULL,驱动能力强一些;OPENDRAIN,如果需要驱动能力,需要外界=接上拉电阻。(想知道为什么,得去看看IO口的物理组成:CMOS的原理,b站一堆是哦,自行观看)

PortPinMode这个项,按默认,不知道有啥用

Dio

Dio 我的理解是单纯的数字IO口,只有高低电平的区别,不属于ADC,SPI…等外设的范畴;
General部分同理,我们来看DioPort。上面配了不同的Pin,但根据需求可能只有几个pin脚是数字IO,可能就点个灯?类似的;在这里插入图片描述
此处的DioPortId即为Port号,根据需求,不连续
双击进入:
在这里插入图片描述
DioChannel Container:可以自己命名每个Channel的名字,此处的ChannelId为pin脚号,如果P33.5外接一个LED,那么上文的DioPortId为33,此处ChannelId为5.由此类推
DioChannelGroup Container:
其实就是我如果有好几个数字IO口,但我想一起控制高低电平,那么就依靠这个Port创建一个Group;不能依靠Pin
DioPortMask 设置Port那几个Pin需要翻转;Offset也不太清楚。。。。

### TC27X 微控制器 MCAL 层中看门狗定时器 (WDG)配置 对于 TC27X 系列微控制器,在 MCAL(Microcontroller Abstraction Layer)层中配置看门狗定时器 (Watchdog Timer, WDG),主要涉及初始化设置以及周期性的喂狗操作以防止系统因异常而挂起。 #### 初始化配置 为了正确地启动并配置 WDG,需调用特定函数来设定参数。通常情况下,这涉及到定义超时时间、模式选择以及其他必要的选项: ```c void Mcal_Wdg_Init(const McalWdg_ConfigType* configPtr) { // 配置寄存器以启用或禁用看门狗功能,并根据传入指针中的数据调整其他属性 } ``` 此部分代码用于初始化 WDG 设置[^1]。`McalWdg_ConfigType` 结构体包含了所有必需的信息,比如预分频系数、窗口大小等,这些都将影响到最终的行为表现。 #### 喂狗机制 为了避免意外复位的发生,应用程序应当定期执行喂狗动作。可以通过如下方式实现这一目的: ```c void Mcal_Wdg_Feed(void) { // 向相应的硬件寄存器写入指定值完成一次喂狗过程 } ``` 上述函数负责向 WDG 发送信号表明程序仍在正常运行,从而重置计数器避免触发重启事件[^2]。 #### 关闭/重新加载 如果需要临时关闭 WDG 或者手动触发其行为,则可以利用下面的方法来进行控制: ```c void Mcal_Wdg_Reload(void); void Mcal_Wdg_Disable(void); ``` 这两个 API 提供了更灵活的操作手段,允许开发者按需管理 WDG 的状态变化[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值