首先从iar官网下载最新的软件版本。
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
手把手DIY一个太阳能LED狐狸垂饰
微软高通携手打造全互联PC笔记本设计 超强续航20个小时
Linux环境下Apache配置多个虚拟主机挂载多站点同时运行
国内疫情逐渐向好 特斯拉免费超级充电服务预计3月31日结束
高镍化趋势下,镍矿资源是否也会成为锂电企业的争夺点?
S32K3基于IAR IDE环境下使用JLINK调试
四维图新携手大连公安交警签署战略合作和成立联合实验室
语音模块能给台式风扇带来什么?
一文看懂智能家居市场的魔方法则
升级Windows7或导致电池寿命缩短
导热结构胶点胶问题的解决方案
出售Agilent86106B光/电模块
C++优化方法
创“新”正当“适” :Xilinx 积极拥抱“新基建”
如何利用人工智能进行打拐
新宙邦发布2020年年报,去年实现营业收入29.61亿元
无线WLAN的安全技术体系
勾币究竟是不是真正的数字货币
关于自恢复保险丝的选型建议,看这七点就够了!
中芯国际与光刻机巨头ASML签订12亿美元订单