01 2022 档案
摘要:在前面的文章中实现了使用Circular模式控制WS2812灯带,利用Freertos的Task的管理实现了跑马灯,流水灯和呼吸灯的灯效。 代码提交到Github上了。 https://github.com/magicduan/demo_pwm_dma_circular 在实现中碰到一个较大的麻烦,
阅读全文
摘要:在上一篇文章中DMA的设置使用的是"Normal" Mode,这种实现方法的问题是费内存,要控制168颗灯带的颜色,需要准备168*24 +2*TRST 约4K Byte的内存, 在MCU的世界里就麻烦了,这次这个项目中需要控制4个灯带,两个168,一个21, 一个23.内存严重告急。采用DMA C
阅读全文
摘要:项目中需要对WS2812灯带进行控制,项目中的灯带是21颗等,需求要求对所有的LED等设置颜色的时候是统一的颜色, 如果需要设置不同的颜色,也可以参考代码进行修改。 实现方式是 PWM + DMA的方式,一次将21颗灯的颜色值都设定好。 参考的是这篇英文文章来实现的。 Interface WS281
阅读全文
摘要:入手一个Raspberry Pi 4B, 手头没有空的键盘,显示器。决定安装一个无键盘无显示器的RapsiBerry OS. Step1. 下载raspberry Pi的安装软件 https://www.raspberrypi.com/software/ Step2,将SD Card通过读写器连接到
阅读全文
摘要:在STM32的项目中用PWM脉冲波管理灯带中遇的一个比较坑的问题。 灯带要求的PWM的周期是1.2us,我的时钟频率是60MHZ, 在设置PWM的时候,将Prescaler设置为18,Counter Period 设置为4,这样得到PWM的周期 = 18*4/60 = 1.2us. 实际输出的周期是
阅读全文