英飞凌CYW20829提供了TCPWM模块支持,从手册可以了解,使用TCPWM,可以灵活输出波形。
这个实验,就通过按键,控制TCPWM输出的频率。
一、创建TCPWM工程
使用工程创建工程,通过TCPWM样例创建工程:
然后用VsCode打开。
二、添加按键处理代码
英飞凌CYW20829一共有两个用户按键,这个实验中,使用这两个按键,来控制TCPWM的频率值。
然后,参考GPIO的代码,添加按键中断处理的代码:
便在main()中,进行按键中断的初始化:
最后,在main()中的for(;;)循环内,添加根据gpio_intr_flag处理当前频率设置值,已经应用的代码:
通过上面的代码,就能在按USER BTN1的时候,减小freq_set,而在按USER_BTN2的时候,增大freq_set:
三、运行测试
将修改后的代码,编译烧录到开发板,然后先监听串口,并分别按USER_BTN1和USER_BTN2,可以看到具体的输出:
同时,观察开发板上的USER LED1,可以发现其闪烁频率随着按键发生了变化:
四、逻辑分析仪分析
断电,将开发板的P1.1连接到逻辑分析仪的D0接口,并连接后GND:
然后打开逻辑分析仪进行测试。
1. 当设置freq_set为10000时:
可以看到,period为198.8ms:
2. 当设置freq_set为5000时:
可以看到,period为397.6ms:
3. 当设置freq_set为1000时:
因为此时freq和period一样,所以就直了:
这次实验,是使用TCPWM输出的一次基础实验,后续继续研究发现更多用法。
|