ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

NXP实战笔记(六):S32K3xx基于RTD-SDK在S32DS上配置PWM发波

2026/9/19 13:06:01 拓冰建站 浏览量
NXP实战笔记(六):S32K3xx基于RTD-SDK在S32DS上配置PWM发波

目录

1、概述

2、SDK配置

2.1、Port配置

2.2、Emios_Mcl_Ip

2.3、Emios_Pwm

2.4、代码示例


1、概述

        针对S32K3xx芯片,产生PWM的硬件支持单元仅有两个,分别是eMiosx与Flexio.

生成PWM的顺序,按照单片机所用资源进行初始化执行如下

  1. 初始化MCU的时钟单元
  2. 初始化MCL的eMios或者Flexio实例配置
  3. 初始化Port口
  4. 初始化PWM模块

2、SDK配置

2.1、Port配置

第一步需要给Port分配指定的功能,例如此处的eMios发波

2.2、Emios_Mcl_Ip

这个地方是建立Count bus的地方

Master Bus Mode Type:计数方式,向上或者向下计数等。

Default period:默认周期值。

PWM exclusive access :是否作为PWM的Count Bus。

2.3、Emios_Pwm

Mode select:模式选择,目前选择EMIOS_PWM_IP_MODE_OPWMB

前面emios mcl里面选择了 ch22作为Count bus 也就是Bus F

Duty:相对于周期的Ticks,按照比例默认输出的占空比

Period:周期Ticks的设定

2.4、代码示例

初始化Emios_Mcl_Ip_Init(0U, &Emios_Mcl_Ip_0_Config_BOARD_INITPERIPHERALS);Emios_Pwm_Ip_InitChannel(0U, &Emios_Pwm_Ip_I0_Ch20);

上面两个特别重要,要是没有初始化,那么无法产生PWM

执行代码

假设需要中心对齐或者移位操作,需要设定以下函数

3、测试结果