S32DS for S32 Platform PWM输出实践

1、配置GPIO

新建完项目后,右键项目找到"S32 Configuration Tools"--》"Open Pins"进入PIN脚操作页面配置GPIO。这里用的MCU为S32K144:

在"外设信号"窗口选择FTM0(这里选择的是FTM0),选择对应引脚进行配置,保存

2、添加PWM外设组件

右键项目找到"S32 Configuration Tools"--》"Open Peripherals"进入外设组件界面

选择Drivers搜索"pwm",添加完双击"flexTimer_pwm_1",修改pwm配置信息后保存,添加一个"PWM Independent Configuration",更新源码

3、初始化

初始化完成功后PWM就打开了

c 复制代码
	ftm_state_t ftmStateStruct;//这个变量得时全局变量
	CLOCK_DRV_Init(&clockMan1_InitConfig0);//时钟初始化
	PINS_DRV_Init(NUM_OF_CONFIGURED_PINS0, g_pin_mux_InitConfigArr0);//引脚初始化
    /* Initialize FTM instance */
    FTM_DRV_Init(INST_FLEXTIMER_PWM_1, &flexTimer_pwm_1_InitConfig, &ftmStateStruct);
    /* Initialize FTM PWM */
    FTM_DRV_InitPwm(INST_FLEXTIMER_PWM_1, &flexTimer_pwm_1_PwmConfig);

4、其他函数

c 复制代码
//更改频率,输入变量为频率HZ,例如输入1KHZ则Frequency=1000
void PWM_FrequencyChange(uint32_t Frequency){
	FTM_DRV_UpdatePwmPeriod(INST_FLEXTIMER_PWM_1,FTM_PWM_UPDATE_IN_DUTY_CYCLE,Frequency,true);
	PWM_DutyCycleChange(Pwm_CurrentDutyCycle);//保持占空比不变
}

//更换占空比,输入变量为百分比值,例如百分之10则DutyCycle=10
void PWM_DutyCycleChange(uint32_t DutyCycle){
	Pwm_CurrentDutyCycle=DutyCycle;
	uint16_t dutyValue=(0x8000*(100-DutyCycle))/100;
    FTM_DRV_UpdatePwmChannel(INST_FLEXTIMER_PWM_1,
                             flexTimer_pwm_1_IndependentChannelsConfig[0].hwChannelId,
							 FTM_PWM_UPDATE_IN_DUTY_CYCLE, dutyValue,
                             0U,
                             true);
}
相关推荐
sramdram15 小时前
低功耗MCU微控制器在动态血糖仪(CGM)中的应用方案
单片机·嵌入式硬件·mcu·mcu微控制器
GeekArch4 天前
第8讲:裸机单片机项目——Vibe快速迭代的最优边界
c语言·stm32·单片机·嵌入式硬件·mcu·物联网·ai编程
GeekArch5 天前
第5讲:嵌入式场景二范式决策树:什么情况快写、什么情况严写
人工智能·stm32·单片机·mcu·物联网·决策树·机器学习
不想努力只想躺平的菜鸟ing6 天前
2. UART与TTL UART、CMOS UART、RS232、RS422、RS485、tod
mcu
wuyk5559 天前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
MounRiver_Studio12 天前
RISC-V IDE MRS2调试秘籍(三):通过栈帧可视化模块定位栈溢出、栈内存非法篡改等运行时错误
mcu·risc-v·代码调试
MounRiver_Studio12 天前
RISC-V IDE MRS2调试秘籍(一):通过Memory内存导出对比,锁定隐性内存异常代码
mcu·调试技巧·risc-v·代码调试
sramdram13 天前
灵动高性能32位MCU空调解决方案
单片机·嵌入式硬件·mcu·32位mcu
sramdram15 天前
低功耗MCU芯片电机控制专用
单片机·嵌入式硬件·mcu·低功耗mcu·mcu芯片
wuyk55517 天前
25. 函数指针表:用查表替代 switch-case,打造高效可维护的嵌入式状态机
c语言·stm32·单片机·mcu·51单片机