[评测分享]
【TL7218X开发板】四、初始化PWM(小坑)
#板卡评测
1287 人阅读
|
0 人回复
|
2025-03-06
TA的每日心情 | 擦汗 2025-2-28 11:10 |
|---|
签到天数: 2 天 连续签到: 1 天 [LV.1]初来乍到
秀才
- 积分
- 229
|
TL721X是一颗全新的芯片,网上相关资料非常少,没有比较优秀的资料,需要去试错。PWM是为了**开发的基本模块,本文记录初始化的相关代码,代码不难,就是有个小坑。
一、阅读例程、文档
参考T21X的PWM例程
参考B91M的PWM相关文档,理解代码,这份文档比较详细,有简单的代码
连接:https://doc.telink-semi.cn/doc/z ... e_connection_cn/#ir
二、测试实验
初始化代码
- void pwm_init(void)
- {
- pwm_set_pin(GPIO_FC_PC3, PWM0);
- pwm_set_pwm0_mode(PWM_NORMAL_MODE);
- // pwm_set_clk((unsigned char)(sys_clk.pclk * 1000 * 1000 / PWM_PCLK_SPEED - 1));
- pwm_set_tcmp(PWM0_ID, 200 * CLOCK_PWM_CLOCK_1US);
- pwm_set_tmax(PWM0_ID, 2000 * CLOCK_PWM_CLOCK_1US);
- pwm_start(FLD_PWM0_EN);
- }
复制代码
API 解析:
pwm_set_tcmp 设置有效电平持续时间
pwm_set_tmax 设置PWM频率
初始化完成后,发现,PWM能出来,但是PWM时不连续、没有固定间隔时间律的发出一段。
查了很久、并且将代码换到PWM Demo上,时可以成功运行的,说明PWM 初始化没问题。
最后突然想到了,现在大多数的蓝牙sdk默认是低功耗的,而且我们的PWM相关配置没有设置低功耗时保持运行,或者是间隔运行,所以会导致的PWM断断续续、没规律的开启与关闭。
如下图,关闭红框中两个涉及低功耗配置的宏即可。
实验效果:
最终的效果是如下图,发出了2k Hz 高电平10%的PWM
三、总结
目前的TL721X的相关文档比较少,需要去参考别的芯片的文档 和 查阅demo才可以开发,需要比较耗时,希望赶紧上传开发文档!!
|
|
|
|
|
|
|
|
|