这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 行业应用 » 汽车电子 » 【S32K3XX】STM 驱动配置

共1条 1/1 1 跳转至

【S32K3XX】STM 驱动配置

高工
2025-11-23 12:25:50     打赏

【简介】

 S32K3 芯片中集成了STM 模块,因为RTD 驱动库中的超时可以使用DUMY的方式或者Systick 作为驱动库超时检测,DUMY 的方式无法实现一个精确的计时,Systick  定时器虽然可以提供精确的计时但是在RTOS环境下该定时器通常作为是系统调度定时器使用,在RTD的驱动库中也支持用户自定义Timer 接入RTD库,我们可以使用STM来实现该功能。以下是芯片RM手册中STM IP 的框图。

image.png

从上述框图可以看出STM 的设计还是比较简洁的,STM 模块有多个channel,每个chennel 可以独立配置触发中断的超时时间。从时钟树可以看出STM模块的时钟配置默认为48MHZ

image.png

image.png

【STM参数配置】

我们继续使用32DS的配置工具来配置STM参数,参数主要分为定时器参数配置及channel 参数配置。

配置STM 使能channel 0 和 中断。

image.png

配置分频系数根据上述的时钟信息分频出一个1M的定时器时钟输入。

image.png

参数配置好之后在Init_ctrl 中开启对应中断处理函数。

image.png

配置完成后我们编写如下的测试代码启动timer 配置的周期为10ms

    Stm_Ip_Init(0, &STM_0_InitConfig_PB);
    Stm_Ip_InitChannel(0,STM_0_ChannelConfig_PB);
    Stm_Ip_StartCounting(0,0,10000);

并在回调函数中添加打印:

void Custom_Timer_Callback(uint8_t channel)
{
    PRINTF("STM %d.\n",channel);
}


代码运行后 log 打印周期为10ms运行结果和预期一致。

image.png







共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]