CH579F PA11 TMR2设置PWM问题

各位朋友好,需要ch579F使用PA11引脚输出pwm信号,pwm要求如下:

PWM 控制频率        20-50KHz  方波信号

PWM 占空比           40% 


参考网络搜索资料,PA11引脚是LSE晶振引脚,要保证关闭才能使用其他功能

PWR_UnitModCfg( DISABLE, UNIT_SYS_LSE );


查看官方提供的pwm例程,没有发现TMR2实现pwm的案例,能否给与协助,就是使用ch579F的PA11引脚输出上面的方波信号。


软件出身,硬件不是特别熟悉,请给予协助,谢谢各位。

求人不如求自己,翻了一些帖子,仔细看了下手册,

最后参考了https://www.wch.cn/bbs/thread-86016-1.html


代码如下:


//函数内Khz为要要设置的频率,zkb为占空比

void timer2_pwm_set(int khz,int zkb)

{

PWR_UnitModCfg( DISABLE, UNIT_SYS_LSE );

time_val = FREQ_SYS / 1000 / khz; //1S/KHZ

GPIOA_ResetBits( GPIO_Pin_11 );

GPIOA_ModeCfg(GPIO_Pin_11, GPIO_ModeOut_PP_5mA);

R32_TMR2_FIFO = 0;

R8_TMR2_CTRL_MOD = RB_TMR_ALL_CLEAR;

R32_TMR2_CNT_END = time_val;

R8_TMR2_CTRL_MOD = 0;

R32_TMR2_FIFO = time_val / 100 *zkb ;

R8_TMR2_CTRL_MOD = (RB_TMR_COUNT_EN | RB_TMR_OUT_EN);

GPIOA_ResetBits( GPIO_Pin_11 );

}



您好,TMR的pwm功能可参考TMR例程,PWM例程中8位的pwm。


只有登录才能回复,可以选择微信账号登录