上一篇帖子【CuriosityNano测评报告】+TMR6的使用介绍了使用TMR6定时中断周期的翻转LED状态。本篇介绍使用16its的PWM1+TMR6周期改变LED的亮度。
首先新建工程:
点击MCC图标,在弹出的MCC界面中,选择System Module设置系统时钟为64MHz:
在Available Resources中选择PWM1:
使用FOSC作为时钟源,200分频,PWM的频率为10kHz,占空比为50%:
在Available Resources中选择TMR6:
按图设置,定时时间为1s:
之后设置RF3为PWM1输出通道1:
点击Generate生成代码。
然后打开打开main.c,在main.c中添加中断使能和TMR6的中断回调函数:
注意黄色标注的地方。一开始我没有PWM1_16BIT_LoadBufferRegisters();结果PWM1的Duty未能写入。添加这句话后Duty才每秒发生变化。
编译下载到板子后,可以看到LED由亮变暗再变亮。
PWM.zip
(1.13 MB)
|