目 录CONTENT

文章目录

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

moke
2024-07-10 / 0 评论 / 0 点赞 / 62 阅读 / 0 字

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、测试结果

博主关闭了所有页面的评论