久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > STM32F103使用TIM+DMA驅動WS2812燈帶

STM32F103使用TIM+DMA驅動WS2812燈帶

作者:lulugl 時間:2025-11-02 來源:EEPW 收藏

ws2812做為RGB燈,在很多場合都是非常有用的,我準備使用STM32H755的M4內核驅動時,遇到了一些問題,因此先用來驗證一下,找到庫存的STM32103的開發板,來實現驅動,特記錄如下:

1.使用STM32CubeMX 新建基于C8Tx的工程

image.png

2.打開外部時鐘,因為內部時鐘最高只能跑到64MHz。

1762089399963862.png

3.在時鐘配置界面,配置72MHz的總線時鐘。

1762089459555332.png

從上面我們得到Timer的時鐘總線為72MHz。

4.打開TIM1的配置界面配置如下:

image.png

這里我們需要將GPIO的輸出速度選擇為高速模式。

5.配置pwm

1762089674154126.jpg

在定時器配置中,我們根據WS2812 的最大傳輸速率800kbps,設置定時器不分頻和計數周期為89+1,這樣下來波形的頻率為72 M /(89+1) = 800 K,并且一個波形的周期為1 / 800 = 1.25 us 。

6.配置DMA

1762089717146785.png

我們打開DMA的界面,添加一個DMA,選擇方向為從內存到外設,內存為遞增,數據寬度為半字節,即16 bit。

到此界面配置結束,生成工程后,使用mdk 打開工程。

【代碼添加】

1.新建RGB.c 添加代碼如下:

image.png

image.png

image.png

2.添加RGB.h 代碼如下:

image.png

image.png

3.Main

首先引RGB.h頭文件

再使用extern一下數組

image.png

在while中添加周期的亮燈:

image.png

【驗證】

將ws2812 的DI 引腳接到PA8,VCC 與GND 接到開發板的電源上,將程序下載到開發板后,可以看到如期點亮了WB2812。

(本文來源于《EEPW》


關鍵詞: 202510 STM32F103 TIM+DMA

評論


相關推薦

技術專區

關閉