一、杰理伙伴须知:
关于杰理的pwm设置,可以参考pwm_led.c/mcpwm.c,会预留封装接口。
杰理LED硬件设计和普通的LED设计会有巧妙的差异,具体需要查看原理图。
模块说明 :(必看)
通常我们对PWM的认知是:就一种PWM波形,在一个周期内,由高电平和低电平组成,它们所占时间比例可调。但是,LED_PWM不是这样的,他有两种PWM波形:
第一种PWM波形是:在一个周期内,由高电平和高阻态组成,它们所占时间比例可调。在此命名为 h_pwm
第二种PWM波形是:在一个周期内,由低电平和高阻态组成,它们所占时间比例可调。在此命名为 l_pwm
高阻态可能是不定的电平,它的电平由外部电路决定,高阻态不会对外围电路起作用。比如接led灯,高阻态不会使灯亮的
二、杰理pwm配置
如果小伙伴们需要自主配置pwm,可以使用mcpwm.c预留的pwm接口:
可以参考void mcpwm_test(void);
ch0_id0、ch0_id1、ch1_id0是生成的id号,是后面api函数的参数。实验现象结论:应该是顺序生成(根据设置的pwm顺序)。可以直接把ch0_id0、ch0_id1、ch1_id0设置成全局变量,但是切记不要对ch0_id0、ch0_id1、ch1_id0进行修改。
朋友们对于pwm关心比较多的参数:频率和占空比的修改如下:
一些相关API函数展示:
void mcpwm_start(int mcpwm_cfg_id);pwm开始输出
void mcpwm_pause(int mcpwm_cfg_id);//pwm挂起
void mcpwm_resume(int mcpwm_cfg_id);//实际是调用void mcpwm_start(int mcpwm_cfg_id);
void mcpwm_set_frequency(int mcpwm_cfg_id, mcpwm_aligned_mode_type align, u32 frequency);//设置频率
void mcpwm_set_duty(int mcpwm_cfg_id, u16 duty);//设置占空比
。。。更多API函数功能,请自行参考mcpwm.c和mcpwm.h
未完待续。。。博主还在学习中。。
欢迎各位朋友们提供宝贵意见。
标签:mcpwm,cfg,void,配置,id0,杰理,pwm,id From: https://blog.csdn.net/m0_67447112/article/details/143661662