IAR Systems Product Updates
在IAR Embedded Workbench for Arm | IAR Systems 找到Download圖標進行下載。
在S32K3xxDRV_r1.4 軟件包種提供了各種外設的配置例程。
以eMIOS為例,此示例使用增強型模塊化輸入/輸出子系統(eMIOS)生成PWM信號。PWM信號使用在OPWMB模式下運行的eMIOSO_CH[9]通道生成。PWM通道的時基由MCB遞增計數模式下運行的eMIOS0_CH[8]通道設置。輸出 PWM信號可在引腳PTA1上測量到。
/*emios_pwm_test.c*/
#include "drivers.h"
uint16_t dutyArray[2]={APP_PWM_PERIOD_HALF - (uint16_t)(0.5f*(float)APP_PWM_PERIOD_HALF),
APP_PWM_PERIOD_HALF + (uint16_t)(0.5f*(float)APP_PWM_PERIOD_HALF)};
int main (void)
{
/* 使能所有的片上外設 */
MCME_PeriphCtrl (MCME_ALL_PERIPH_EN_CONFIG);
/* 配置 GPIO引腳 */
SIUL_Init (PTA, PIN1, OUT_ALT2, PIN_DS_EN_PULLNO_SR_DI_PK_DI_CONFIG);
/* 時基設置*/
EMIOS_Init(EMIOS0,EMIOS_CH8,EMIOS_MODE_MCB_UP_ICLK(EMIOS_PRESC_1,EMIOS_PRESC_CLOCK,1u,APP_MC_A1));
/*PWM */
EMIOS_Init(EMIOS0,EMIOS_CH9,EMIOS_MODE_OPWMB_TB(EMIOS_BUS_BCDE,EMIOS_B1M_F,EMIOS_EDPOL_OUT_A_CLR_B_SET,5u,6u));
EMIOS_Enable(EMIOS0, EMIOS_CH8);
/*設置默認的 50% 占空比用于 PWM輸出 */
EMIOS_Update(EMIOS0, EMIOS_OPWMB, EMIOS_CH9, dutyArray);
/*通過使能全局分頻器來啟動時基*/
EMIOS_EnablePrescaler(EMIOS0, 1u);
while(1){asm("nop");}
}
頭文件如下:
#ifndef __APPCONFIG_H
#define __APPCONFIG_H
#define configHANDLER_IN_TCM 1
#define configRUNTIME_IN_TCM 1
#define configCLOCK_MODE 5
#define configXTAL_FREQ 2
/* PWM周期:EMIOS / emios_global_prescaler / fPWM = 160MHz / 1 / 20kHz = 8000 */
#define APP_PWM_PERIOD 8000u
/* 模計數器緩沖(向上/向下)A1比較值*/
#define APP_MC_A1 ((APP_PWM_PERIOD ) + 1u)
/* 用于占空比計算的一半的 PWM周期滴答數*/
#define APP_PWM_PERIOD_HALF ((APP_PWM_PERIOD / 2u) +1u)
#endif /* __APPCONFIG_H */
編譯工具鏈支持:
S32DS 3.4 | EWARM 9.32 |
---|---|
X | X |
-
PWM
+關注
關注
114文章
5189瀏覽量
214028 -
調試
+關注
關注
7文章
578瀏覽量
33954 -
IAR
+關注
關注
5文章
352瀏覽量
36693 -
IDE
+關注
關注
0文章
338瀏覽量
46765 -
Jlink
+關注
關注
6文章
111瀏覽量
37703
原文標題:S32K3 基于IAR IDE環境下使用JLINK 調試
文章出處:【微信號:嵌入式 MCU,微信公眾號:嵌入式 MCU】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論