网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

基于STM32G070RB的七彩星空灯教程(一)

先简单说下WS2812的工作过程吧

1, 上电时,WS2812数据IO为低电平保持。

2, 空闲时,IO为低电平。

3, 数据发送完毕后,保持电平,超过规格书上定义的RESET时间(只有低电平时间超过280us,就可以认为是RESET.)

先看下数据的时序

image.png

如下是每24bit的组成。注意,顺序不是RGB888,而是GRB888。一般我们取颜色的数值,都是RGB顺序,所以这里在代码里实现的时候,会需要做一下移位。另外,需要注意的是,需要高位先发(MSB)。

1620462565424012.png

时序波形图。关键在于用什么方法去表示Bit的波形,网络上的方法有很多。例如PWM,也有用SPI。今天我们就先用一种简单方法实行吧,IO口模拟是不错的选择。

1620462611495119.png

万事从新建工程开始,打开STM32CubeMX

image.png

在搜索框内搜索 我们的开发板型号,也就是STM32G070RB,好的这样工程就新建好的,

1620462694480698.png

配置时钟树,如下图所示。

1620462707594790.png

接下来配置引脚 ,这里我们采用的是PWM+DMA的方式来驱动WS2812,通过WS2812的手册可以得知驱动需要800KHZ的频率好的我们现在来配置定时器,这里以定时器1为例来配置。如下图所示。计算方法79=(64M/800K)-1得出。下面的Pulse是指一个周期的脉冲数

1620462732346161.png

下面我们开始配置DMA,如下图所示配置

1620462745140906.png

好的到这里就可以生成代码

1620462761352853.png

好的到这里我们就已经把我们需要用到的资源初始化完成了,下次我们开始点亮彩灯。

有了解过的,可以先尝试尝试哦。

热门搜索:TLP6B PS2408RA 2920078 B3429D PDU1215 2320296 01M2251SFC3 UL24RA-15 ULTRABLOK 2839376 01B5001JF SS361220 TLP712B UL603CB-6 PDU1220 LED24-C4 B30-7100-PCB 01C1001JF PS240810 UL800CB-15 1301380020 N060-002 BT137S-600D118 BT-M515RD PDUMH15
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质