【泰凌 TL322X 多协议无线开发板】3.Telink TL3228 的PWM控制输出测试
这款板卡的PWM功能也很丰富,从TL3228 的文档说明中可以看到,如图1所示:图1
从官方给出的SDK Demo 中可以看到,外插针引脚的PB3引出了PWM功能,通过这个引脚测试PWM输出功能。引出脚如图2所示:
图2
在程序app_pwm_continue.c 中可以找到引脚定义,如下所示:
#elif defined(MCU_CORE_TL322X)
#define PWM_ID PWM0_ID
#define PWM_PINGPIO_FC_PB3
#define PWM_FUNC PWM0
首先编译测试文件效果,如图3所示:
图3
然后分析一下这个文件,主要集中在如下code 中,如下所示:
pwm_set_pwm0_mode(PWM_NORMAL_MODE);
#if (PWM_CLK == PWM_PCLK)
pwm_set_clk((unsigned char)(sys_clk.pclk * 1000 * 1000 / PWM_PCLK_SPEED - 1));
pwm_set_tcmp(PWM_ID, 50 * CLOCK_PWM_CLOCK_1US);
pwm_set_tmax(PWM_ID, 100 * CLOCK_PWM_CLOCK_1US);
pwm_set_tmax函数控制周期,pwm_set_tcmp 控制输出占空比,当前只修改这两个参数,其他默认,比如PCLK 依然默认为24MHz。
修改为200us,占空比20%, 如下所示:
pwm_set_tcmp(PWM_ID, 40 * CLOCK_PWM_CLOCK_1US);
pwm_set_tmax(PWM_ID, 200 * CLOCK_PWM_CLOCK_1US);
编译,生成.bin文件,在DBT里进行download,如图4所示:
图4
用示波器查看波形,如图5所示:
图5
占空比没问题,周期只有134us, 肯定有部分程序计算存在问题,**测试还要进行问题查找。
页:
[1]