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);
}
相关推荐
电子科技圈1 天前
赋能高端音频功能促进多样化设备创新——XMOS USB Audio平台实现四大功能升级
人工智能·mcu·音视频·智能家居·边缘计算·语音识别·智能硬件
笨笨饿1 天前
42_C语言查找算法
linux·服务器·c语言·人工智能·mcu·学习方法·嵌入式软件
匿名了匿名了2 天前
直流无刷与直流有刷电机
stm32·嵌入式硬件·mcu
笨笨饿3 天前
29_Z变换在工程中的实际意义
c语言·开发语言·人工智能·单片机·mcu·算法·机器人
R6bandito_5 天前
自实现FLASH读取函数中的隐式类型转换bug踩坑记录
c语言·开发语言·经验分享·stm32·单片机·mcu·bug
Redemption5 天前
嵌软面试每日一阅----freeRTOS(三)
stm32·单片机·嵌入式硬件·mcu·物联网·面试·51单片机
学嵌入式的小杨同学6 天前
STM32 进阶封神之路(三十九)FreeRTOS 临界区、挂起 / 删除、钩子函数、调度底层原理|从应用到内核深度解析
c++·stm32·单片机·嵌入式硬件·mcu·硬件架构·pcb
Dotrust东信创智6 天前
轻量化、低成本、高可靠:MCU控制器引领汽车执行单元升级
mcu·汽车电子
苏灵凯6 天前
智能环境监测终端全栈设计:从单片机到微信小程序,手把手搞定!
单片机·嵌入式硬件·mcu·物联网·微信小程序·小程序·蓝牙模块
学嵌入式的小杨同学7 天前
STM32 进阶封神之路(三十四):TFT LCD 深度全解 —— 显示原理、ILI9341 控制器、8080 并行接口与底层驱动体系
vscode·stm32·单片机·嵌入式硬件·mcu·智能硬件·嵌入式实时数据库