收藏官网首页
查看: 4064|回复: 0

[经验分享] 使用多任务控制rgb产生呼吸灯效果

106

主题

107

帖子

7264

积分

论坛元老

Rank: 8Rank: 8

积分
7264
跳转到指定楼层
楼主
 楼主| 发表于 2023-7-31 23:09:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
    由于tim2被用于处理机智云业务,因此我们要用pa0产生pwm控制rgb亮度还是有些困难的。
因此我们可以用rtos自带的多任务实现单色呼吸灯,多颜色呼吸灯需要做一下颜色转换。
首先,我们创建一个数据点用于开启呼吸灯,使用布尔值即可。
接下来,我们到freertos的设置里创建一个任务。

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

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


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

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

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表