目錄
1、概述
2、SDK配置
2.1、Port配置
2.2、Emios_Mcl_Ip
2.3、Emios_Pwm
2.4、代碼示例
1、概述
????????針對S32K3xx芯片,產生PWM的硬件支持單元僅有兩個,分別是eMiosx與Flexio.
生成PWM的順序,按照單片機所用資源進行初始化執行如下
- 初始化MCU的時鐘單元
- 初始化MCL的eMios或者Flexio實例配置
- 初始化Port口
- 初始化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、測試結果