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

[分享] 基于机智云的stm32控制RGB灯

29

主题

29

帖子

2384

积分

金牌会员

Rank: 6Rank: 6

积分
2384
跳转到指定楼层
楼主
 楼主| 发表于 2023-7-27 21:35:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 Jacket 于 2023-7-27 21:49 编辑

一、生成代码
(1)添加数据点和MCU代码下载并解压
(2)下载机智云示例代码并解压 链接:Gizwits
(3)在“驱动库代码_CubeMX版”文件夹内复制hal_rgb_led.c、hal_rgb_led.h、delay.c和delay.h到用户工程Hal文件夹内;将“宠物笼”文件夹内的STM32F103C8x.ioc复制到用户文件夹内并进行替换
(4)生成代码
打开STM32F103C8x.ioc,点击GENERATE CODE生成代码
二、修改代码
(1)在hal_rgb_led.c添加main.h
(2)在delay.c添加main.h
(3)在gizwits_product.c添加hal_rgb_led.h和delay.h
(4)在gizwits_product.c的userInit()函数内添加delay_init(72)和rgbLedInit(),初始化延时函数和rgb有关的函数。
(5)直接上代码把,代码里面注释有解释代码
三、RGB代码解释
(1)32 “0”为起始帧,在Cin 上升沿时打入
(2)标志位为两个“1”
(3)校验数据“B7’”“B6’”为蓝色灰度数据的“B7”“B6”的反码
(4)灰度级数据要高位先入,并且是蓝绿红顺序
先写一份时序的函数,先拉低50us,然后拉高50us
然后再写一个函数,这个函数的作用写32位个0
将高两位置1,然后将r、g、b的最高2位取反,然后移动(takeAntiCode()函数的作用是将形参取反然后与上0xc0).
最终的控制函数如以下注释
四、现象
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

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

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