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文章
5140浏览量
213358 -
调试
+关注
关注
7文章
572浏览量
33892 -
IAR
+关注
关注
5文章
344浏览量
36616 -
IDE
+关注
关注
0文章
334浏览量
46661 -
Jlink
+关注
关注
5文章
111浏览量
37632
原文标题:S32K3 基于IAR IDE环境下使用JLINK 调试
文章出处:【微信号:嵌入式 MCU,微信公众号:嵌入式 MCU】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论