使用多任务控制rgb产生呼吸灯效果
由于tim2被用于处理机智云业务,因此我们要用pa0产生pwm控制rgb亮度还是有些困难的。因此我们可以用rtos自带的多任务实现单色呼吸灯,多颜色呼吸灯需要做一下颜色转换。
首先,我们创建一个数据点用于开启呼吸灯,使用布尔值即可。
接下来,我们到freertos的设置里创建一个任务。
生成代码
接下来,编写控制呼吸灯的代码,1首先需要一个全局变量来决定呼吸灯是否运行。
然后,编写任务代码,使用两个for循环实现rgb值的增加和减少产生类似呼吸灯的效果。每次for执行后delay2ms 整个任务大概1秒多完成。
再编写一个设置taskrun变量的函数,用于控制任务是否运行。
最后,回到机智云事件处理函数调用我们编写的函数。注意包含头文件。
最后,烧录到Gokti套件。
效果如下。
页:
[1]