国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

《機智云Gokit3開發篇》4 RGB燈的介紹與驅動移植(HAL庫)

機智云 ? 2026-01-28 19:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

物聯網開發與STM32 嵌入式應用實踐中,RGB 燈是實現可視化交互、狀態指示的常用外設,而機智云 Gokit3 開發板作為物聯網開發的經典硬件平臺,其板載的 RGB 燈憑借 P9813 專用驅動芯片具備靈活的色彩控制能力。


本文聚焦Gokit3 開發板(MCU 模式,主控 STM32F103C8T6),以 HAL 庫為開發基礎,從 P9813 驅動芯片的工作原理入手,系統講解 RGB 燈的硬件特性,并完整解析 RGB 燈 HAL 庫驅動的移植過程,同時通過紅綠藍顏色輪詢的功能實現,讓開發者直觀掌握 RGB 燈的驅動開發與實際應用,文末還將附上本文涉及的源碼、原理圖等全套資料鏈接,助力快速上手開發。


01RGB和P9813驅動芯片原理


在Gokit3 的原理圖中,RGB 燈的驅動核心是P9813 芯片(圖中 U3),它是一款單總線控制的 RGB 全彩 LED 驅動芯片,專門用于簡化 RGB 燈的硬件控制 —— 僅需 2 根控制信號線,即可實現 RGB 顏色的精準調節。



23e5d0f2-fc3a-11f0-8ce9-92fbcf53809c.png



引腳介紹:


9腳(VCC)接VCC5V+R5(3.6Ω電阻)芯片電源輸入(5V供電),R5是限流電阻,避免電源沖擊

4腳(GND)接GND芯片接地引腳,保證電源回路

1腳(DIN)接“DIN”接口(對應STM32PB9)串行數據輸入引腳:接收STM32發送的顏色控制數據(對應STM32中PB9)

2腳(CIN)接“TheKey”接口(對應STM32PB8)時鐘輸入引腳:接收STM32發送的同步時鐘信號(對應STM32中PB8)

5腳(R)、6腳(G)、7腳(B)接RGB燈的紅、綠、藍通道直接驅動RGB燈的三個顏色通道,輸出對應亮度的電流

14腳(COUT)、13腳(VOUT)懸空(未連接)級聯輸出引腳:用于多顆P9813串聯控制(Gokit3僅用1顆,故未使用)

12腳(MODE)接C18(100nF電容)→GND模式選擇引腳:通過電容下拉至GND,配置為“單線模式”(Gokit3用的單總線通信

11腳(CLKSEL)接C18(100nF電容)→GND時鐘模式選擇引腳:電容下拉配置為“外部時鐘模式”(時鐘由STM32的PB8提供)

3腳(JEN)接R13(10KΩ電阻)→GND使能引腳:下拉至GND表示“使能芯片工作”(默認處于工作狀態)

10腳(VOUT)懸空(未連接)級聯電源輸出(同VCC,級聯時給下一顆芯片供電)


1、單總線通信,僅需2根線(時鐘SCL+數據SDA)即可控制,無需復雜硬件(如SPI/I2C)PB8=SCL、PB9=SDA,無外設初始化

2、24位顏色控制,紅(R)、綠(G)、藍(B)各分配8位數據,亮度范圍0~255R_MAX/G_MAX/B_MAX=255

3、內置反碼校驗,顏色數據高2位需傳輸反碼,

4、幀格式固定通信必須以“起始幀+數據幀+重復幀”完成

5、5V電壓兼容適配Gokit3的5V供電,無需額外電平轉換源碼無電平轉換邏輯


02Gokit3 板載的RGB 燈


1.Gokit3 板載 RGB 燈由 P9813 驅動芯片全彩 LED 驅動芯片控制,核心特性:

通信:僅需(原理圖上的SCL連PB8)+ (原理圖上的SDA連PB9)2 根線即可控制顏色

顏色編碼:24 位顏色數據(R/G/B 各 8 位,亮度范圍 0~255)

通信規則:

先發送32 個 0 作為起始幀,再發送 32 位顏色數據(含標志位 + 反碼 + RGB 值),最后重復發送顏色數據確保生效


03原理圖及實物圖



23fd727a-fc3a-11f0-8ce9-92fbcf53809c.png



241b9782-fc3a-11f0-8ce9-92fbcf53809c.png



2、GPIO硬件配置(MCU 模式)

PA0:RGB 燈總開關,高電平使能(源碼中ledRgbControl函數首行置高 PA0)

PB8/PB9:推挽輸出模式,通過高低電平模擬 P9813 通信時序,無需硬件 SPI/I2C


04Gokit3的RGB燈源碼移植


本次使用的驅動文件為hal_rgb_led.h和hal_rgb_led.c這兩個RGB的驅動文件

頭文件:hal_rgb_led.h(宏定義 + 函數聲明)

源文件:hal_rgb_led.c(核心功能實現)

(1)PA0 初始化函數:rgbKeyGpioInit

void rgbKeyGpioInit(void)


244b1d04-fc3a-11f0-8ce9-92fbcf53809c.png


解析:實現PA0 推挽輸出配置,為了兼容2.2


(2)延時函數:ledDelay


2471588e-fc3a-11f0-8ce9-92fbcf53809c.png


解析:給P9813 通信時序延時作用


(3)時鐘生成函數:clkProduce


249151a2-fc3a-11f0-8ce9-92fbcf53809c.png


解析:P9813 核心時序函數,通過拉低 / 拉高 PB8 生成時鐘信號,延時 40 個空循環保證時序滿足 P9813 要求。


(4)起始幀發送函數:send32Zero


24b7fcf8-fc3a-11f0-8ce9-92fbcf53809c.png


解析:P9813 通信必須以 32 個 0 作為起始幀,此函數通過循環生成 32 個時鐘,且 SDA 始終為低,完成起始幀發送。


(5)反碼處理函數:takeAntiCode


24de7f4a-fc3a-11f0-8ce9-92fbcf53809c.png


解析:P9813 協議要求顏色數據高 2 位需傳輸反碼,此函數提取 R/G/B 值的高 2 位并取反,是官方驅動的核心協議適配邏輯。


(6)32 位數據發送函數:datSend


250362c4-fc3a-11f0-8ce9-92fbcf53809c.png


解析:按P9813 ,逐位發送 32 位顏色數據,每發送 1 位生成 1 個時鐘信號,是數據傳輸的核心函數。


(7)數據處理函數:dataDealWithAndSend


252876ea-fc3a-11f0-8ce9-92fbcf53809c.png


解析:將R/G/B 值組裝為 P9813 要求的 32 位數據格式(標志位 + 反碼 + 顏色數據),再調用datSend發送。


(8)RGB 初始化函數:rgbLedInit


254b4bd4-fc3a-11f0-8ce9-92fbcf53809c.png


解析:初始化PB8/PB9 為推挽輸出,發送起始幀并將 RGB 燈初始化為滅燈狀態,是驅動使用前必須調用的初始化函數。


(9)顏色控制函數:ledRgbControl


25778a00-fc3a-11f0-8ce9-92fbcf53809c.png


解析:對外提供的核心調用函數,參數為R/G/B 亮度值(0~255),調用:如果向亮什么顏色的燈就可以調用這個函數實現RGB亮燈,一個顏色的燈有255種亮度,三個顏色的燈組合起來可以實現任何顏色的亮燈。


05實現RGB幾個顏色燈輪轉效果(驅動移植)


整體過程:添加兩個RGB驅動文件---- 工程配置好---- 調用RGB初始化函數----調用亮燈控制函數實現亮燈----- 使用delay實現簡單幾個顏色輪轉。


1、驅動文件添加

將hal_rgb_led.h放入工程Inc文件夾,hal_rgb_led.c放入Src文件夾;

Keil 中添加hal_rgb_led.c到工程,并配置頭文件路徑(確保#include"hal_rgb_led.h"不報錯)。


2、初始化調用

調用:rgbLedInit();實現初始化


2597aa06-fc3a-11f0-8ce9-92fbcf53809c.png



3、調用RGB亮燈函數,實現任何顏色的亮燈(需要顏色組合)

以下各種顏色為例,實現亮燈循環。


25c17d04-fc3a-11f0-8ce9-92fbcf53809c.png


編譯燒錄,觀察現象,可以看到RGB燈成功驅動起來了。



25e7e14c-fc3a-11f0-8ce9-92fbcf53809c.png




2615a938-fc3a-11f0-8ce9-92fbcf53809c.png



本文從RGB燈的應用場景與硬件基礎出發,深入剖析了板載P9813驅動芯片的工作原理,完整呈現了HAL庫驅動的移植流程,并通過紅綠藍顏色輪詢的實例實現,為開發者提供了從理論到實踐的全流程指導,助力大家快速掌握物聯網開發中RGB燈這一常用外設的驅動開發與應用技巧。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機智云
    +關注

    關注

    3

    文章

    647

    瀏覽量

    27766
  • HAL
    HAL
    +關注

    關注

    2

    文章

    75

    瀏覽量

    13667
  • rgb燈
    +關注

    關注

    0

    文章

    11

    瀏覽量

    2065
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GoKit3(S)】Gokit3開箱及介紹

    `Gokit3機智Gokit2后推出的第三代物聯網智能硬件開發套件,它可以快速的幫助開發
    發表于 08-25 16:29

    Gokit3試用體驗】1、開箱評測

    Gokit3機智Gokit2后推出的第三代物聯網智能硬件開發套件,它可以快速的幫助開發者將
    發表于 09-26 11:10

    如何使用機智開發一款智能硬件產品

    Gokit3】序列之2:Gokit3介紹3:【原創】【魅力Gokit3】序列之
    發表于 12-26 15:56

    每周精選:Gokit3S開發攻略、低成本SOC開發(1月9日)

    】序列之2:Gokit3介紹3:【原創】【魅力Gokit3】序列之3:wifi控制走起第
    發表于 01-11 14:46

    SOC快速入門

    使用GoKit3(S)開發板,基于esp8266模塊上的SoC方案,開發的智能項目為例,示范一下如何將設備快速接入機智
    發表于 02-27 18:21

    中移Cat.1 4G轉接板接入機智平臺免開發

    第1章 機智平臺快速入門1.1機智gokit3簡介機智
    發表于 03-22 11:38

    4G模組接入機智gokit3開發

    ;id=651801604044)正文:本文主要介紹gokit3接入4G模組ML302-GC211,方便用戶在沒有WiFi的情況下調試移動網絡產品。云端部署進入機智
    發表于 10-31 19:55

    基于gokit3微信寵物屋與機智的物聯網智能家居

    (WiFi+STM32F103底板)基于Gokit3微信寵物屋與機智的物聯網智能家居2.LED,代替加熱裝置展示加熱情況三、云端部署1.進入機智
    發表于 04-07 17:53

    基于gokit3微信寵物屋與機智的物聯網智能家居

    (WiFi+STM32F103底板)基于Gokit3微信寵物屋與機智的物聯網智能家居2.LED,代替加熱裝置展示加熱情況三、云端部署1.進入機智
    發表于 04-07 17:53

    通過機智GoKit3開發套件實現手機APP的遠程控制

    GoKit3(S)是機智(GizWits)推出的物聯網智能硬件開發套件之一,目的是幫助傳統硬件快速接入互聯網。
    的頭像 發表于 06-05 06:07 ?3725次閱讀

    機智推出基于物聯網智能硬件開發套件GoKit3

    GoKit3機智推出的物聯網智能硬件開發套件,采用分體式可插拔設計方案,由主控板、功能擴展板、模組三部分組成,這種設計方式,讓GoKit3
    的頭像 發表于 08-16 09:34 ?5057次閱讀

    gokit3是如何接入4G模組ML302-GC211轉接板的

    到此教程結束,本次教程采用機智gokit3機智GC211模組實現開發板移動網絡接入,方便用
    的頭像 發表于 07-03 16:10 ?2458次閱讀

    機智Gokit3測評】Gokit3硬件電路學習

    GoKit3的硬件電路原理學習之旅吧。GoKit3是什么?GoKit3機智(GizWits)推出的物聯網智能硬件
    的頭像 發表于 08-26 11:14 ?1979次閱讀
    【<b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>Gokit3</b>測評】<b class='flag-5'>Gokit3</b>硬件電路學習

    機智Gokit3開發:ST-Link燒錄MCU程序操作詳解

    本文主要介紹如何為機智Gokit3的MCU模式進行程序燒錄(ST-Link版)。由于Gokit3底板采用的是STM32芯片,針對ST的MC
    的頭像 發表于 12-17 18:46 ?439次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>Gokit3</b><b class='flag-5'>開發</b><b class='flag-5'>篇</b>:ST-Link燒錄MCU程序操作詳解

    機智Gokit3開發 — 搭建Gokit3工程(HAL版)

    在當今物聯網時代,越來越多的開發者希望能夠快速上手并實現創新的產品與應用。機智Gokit3開發板因其易用性和豐富功能受到初學者的青睞。該
    的頭像 發表于 01-08 19:14 ?451次閱讀
    <b class='flag-5'>機智</b><b class='flag-5'>云</b><b class='flag-5'>Gokit3</b><b class='flag-5'>開發</b><b class='flag-5'>篇</b> — 搭建<b class='flag-5'>Gokit3</b>工程(<b class='flag-5'>HAL</b><b class='flag-5'>庫</b>版)