mmuyu 发表于 2023-7-31 23:09:23

使用多任务控制rgb产生呼吸灯效果

    由于tim2被用于处理机智云业务,因此我们要用pa0产生pwm控制rgb亮度还是有些困难的。
因此我们可以用rtos自带的多任务实现单色呼吸灯,多颜色呼吸灯需要做一下颜色转换。
首先,我们创建一个数据点用于开启呼吸灯,使用布尔值即可。
接下来,我们到freertos的设置里创建一个任务。

生成代码
接下来,编写控制呼吸灯的代码,1首先需要一个全局变量来决定呼吸灯是否运行。

然后,编写任务代码,使用两个for循环实现rgb值的增加和减少产生类似呼吸灯的效果。每次for执行后delay2ms 整个任务大概1秒多完成。


再编写一个设置taskrun变量的函数,用于控制任务是否运行。

最后,回到机智云事件处理函数调用我们编写的函数。注意包含头文件。

最后,烧录到Gokti套件。
效果如下。

页: [1]
查看完整版本: 使用多任务控制rgb产生呼吸灯效果