ESP32C3 ---- led_strip工程分析

本次我们打算分析一下如何点亮一颗RGB灯
在这里插入图片描述
这个例程,等分析完之后,再去分析一下蓝牙或者wifi,做一个diy。打开之后

在这里插入图片描述
这是工程代码,这次案列的目的就是要点亮开发板上面的RGB灯。
在这里插入图片描述
我以前一直以为中间的这个芯片是ESP32C3,最近才发现他是串口转USB芯片呜呜呜。最上面的模组里面才包含一个esp32-c3芯片。
在这里插入图片描述
通过官方手册了解到,这个RGB灯对应的是第8个I/O口做控制。
接下来需要好好的了解一下ws2812的工作原理
下面这个是ws2812的官方地址:
[https://d2j2m4p6r3pg95.cloudfront.net/module_files/led-cube/assets/datasheets/WS2812B.pdf]
然后兄弟萌可以看看下面这个贴主的资料很好

[https://blog.csdn.net/zhuoqingjoking97298/article/details/120871808]

知道了rgb灯0,1的变化需要用高低电平的变化的时间段来表示
在这里插入图片描述
在这里插入图片描述
同时也知道了点亮一个灯的话需要需要发送24个bit,然后reset 50ms以上,不停的如此。

接下来就是开始阅读代码,在阅读代码之前,需要使用到乐鑫官方下载资料看看rmt这一块这里需要自己去看看
在这里插入图片描述
跳到RMT_DEFAULT_CONFIG_TX
在这里插入图片描述
可以容易的了解是config的配置。
在这里插入图片描述
rmt_mode : 选择rmt作为发送还是接受
channel: 选择通道,esp32c3有2个接收,二个发送。为0,1,2,3
**gpio_num:选择做rmt输出的引脚口
clk_div: 设置分频计数器的系数
*mem_block_num:*设置rmt使用块的个数,rmt一共有4个,后面就对应在这个块里面的数据做编码发送
*flags:*设置信号是否反转和选择rmt时钟源
这里面我们用到的是发送,所以只需了解
rmt_tx_config_t
是什么就可以了
在这里插入图片描述
***carrier_freq_hz:***发送载波的频率
***carrier_level:***施加载波时RMT输出的电平
idle_level 当rmt空闲时,输出的电平
***carrier_duty_percent:***空闲时低平占比率

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值