S32K3 MCAL配置之GPT 基于EBtresos

文章详细介绍了如何配置GPT定时器通道,包括选择硬件instance如PIT,设置计时模式,配置时钟参考点,以及在MCU模块中使能相关时钟和PIT通道,最后完成GPT通道的详细配置。

GPT

GPT可以为系统配置定时器通道给需要定时功能的模块,比如OS需要一个时间刻度来周期执行TASK;

计时器按照用户设置进行计时,达到预定的时间通过中断通知系统,系统可在通知函数内进行服务调度;

涉及模块:GPT MCU Platform

在GptChannelConfiguration添加GPT通道

双击GPT通道进行详细配置,其中:

GptHwIp:选择产生定时器的硬件instance,此处选择PIT;

GptMouduleRef:此处需要在PIT配置好通道后,再进行选择;

GptChannelMode:选择ones hot或者continuous,即单次计时和循环计时;

GptChannelClkSrcRef:时钟参考点

此处配置暂时先保持这样,配置完其他依赖项,再回来配置

  1. 先配置时钟参考点

根据时钟布局,PIT0时钟来源于APIS_SLOW_CLK,我们在MCU模块配置相关时钟参考点,在MCU模式配置/时钟参考点选项卡下添加时钟参考点

双击进入进行编辑,选择APIS_SLOW_CLK,时钟频率使用计算值即可,记住此处的2.4E7,即24兆赫兹

接下来返回GPT,配置时钟参考点

在时钟参考点一栏添加一个参考点,双击进入,选择我们在MCU配置的参考点

  1. GPT硬件instance使能

在GptHwConfiguration下添加一个配置选项卡,双击进入,点击add required elements

   我们在配置GPT通道的时候选择了PIT0,此处我们在PIT0选择channel1,并进行使能

  1. 配置PIT

在GptPit选项卡下添加一个PIT配置,双击进入,选择PIT_0

选择通道0,我们只使能了通道0的中断

返回GPT通道的配置界面,完成通道配置如下,主要是选择硬件instance和时钟

S32K3系列微控制器是NXP Semiconductors推出的一款高性能、高安全性的汽车级微控制器,广泛应用于车载网络、动力总成控制以及高级驾驶辅助系统(ADAS)等场景。Microcontroller Abstraction Layer(MCAL)是AUTOSAR架构中的一部分,用于为上层软件提供与硬件相关的接口抽象,使得应用层可以独立于底层硬件进行开发和移植。 在S32K3微控制器的MCAL配置和使用过程中,通常需要涉及以下几个关键模块: ### 1. **MCU驱动(Mcu Driver)** 该模块负责初始化微控制器的核心功能,包括时钟系统、电源管理、复位控制等。在S32K3中,Mcu模块通过调用S32K3xx HAL库中的函数来实现对寄存器的配置。例如,设置系统时钟频率、选择主时钟源等操作都需要通过Mcu_Init()函数完成[^1]。 ```c Mcu_Init(&Mcu_Config); ``` ### 2. **GPIO驱动(Port Driver)** Port模块提供了对通用输入输出引脚的配置能力。用户可以通过配置Port模块来定义每个引脚的方向(输入/输出)、初始电平、上下拉电阻状态等属性。这些配置通常在启动代码执行前由Port_Init()函数处理[^2]。 ```c Port_Init(NULL_PTR); ``` ### 3. **中断控制器(IntCtrl Driver)** IntCtrl模块负责管理和配置微控制器内部的中断控制器,如NVIC(Nested Vectored Interrupt Controller)。它可以启用或禁用特定中断线、设置优先级组以及分配中断优先级等。对于S32K3来说,IntCtrl模块还支持向量表重定位等功能[^3]。 ```c IntCtrl_EnableInterrupts(); ``` ### 4. **定时器驱动(Gpt Driver)** Gpt模块用于配置和使用通用定时器(General Purpose Timer),可用于生成周期性中断、测量时间间隔或者产生PWM信号等用途。在S32K3平台上,Gpt模块能够访问多个定时器外设,并根据需求进行灵活配置[^4]。 ```c Gpt_StartTimer(TIMER_CHANNEL_0, 1000); // 启动定时器通道0,设定时间为1ms ``` ### 5. **通信接口驱动(Can, Lin, Spi Drivers)** 针对不同的通信协议,MCAL提供了相应的驱动程序。以CAN为例,在S32K3中,Can模块实现了对FlexCAN控制器的支持,允许开发者发送和接收CAN帧数据,同时支持标准帧和扩展帧格式[^5]。 ```c Can_Write(CAN_CONTROLLER_0, &message); ``` ### 配置流程概述 - 使用工具链(如Vector DaVinci Configurator或其他支持AUTOSAR的配置工具)创建项目并导入S32K3 MCAL描述文件。 - 根据实际硬件设计修改各模块参数,比如时钟源选择、GPIO映射关系、中断优先级划分等。 - 生成配置代码后将其集成到目标工程中。 - 编写应用程序逻辑,利用MCAL提供的API访问底层资源。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值