SAM R21的很多GPIO都支持PWM输出功能 ,所以也可以非常容易的实现呼吸灯功能,只需要周期改变PWM输出的占空比,就可以改变LED的亮度。
在图形化编程中,PWM功能是通过 analog write pin模块实现的。虽然名称是模拟输出,但是实际上是PWM输出。
我们先创建一个变量“亮度”,用来代表PWM输出数值。在MakeCode编程中,允许使用中文变量名,这样很容易使用和理解。在forover(无限循环)中,在周期改变变量亮度的大小。因为PWM输出是10bit精度的,所以要保证不超过1024。一个完整的程序如下,单击下载后复制到开发板,就可以运行了。