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

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

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

3天內不再提示

DAYU200上的RGB燈怎么控制

電子發燒友開源社區 ? 來源:HarmonyOS官方合作社區 ? 作者:HarmonyOS官方合作社 ? 2022-04-25 09:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有小伙伴問我“DAYU200上的RGB燈怎么控制”?

我在Hi3516上做過用LED燈演示驅動開發的示例程序,但因為我還不知道DAYU200上的三色燈的GPIO管腳號是多少,就沒做燈控測試。不過既然小伙伴問到了,我就抽空研究了一下這部分流程,寫了個測試程序,順便修復了代碼上的一個bug。

2. 驅動代碼分析

先是看到了有一個//vendor/hihope/rk3568/hdf_config/khdf/light/light_config.hcs文件,估計這就是三色燈的驅動配置。從這里去//vendor/hihope/rk3568/hdf_config/khdf/device_info/device_info.hcs找到:hostName = "light_host" 的相關信息。

再往上找到light的內核態驅動程序://drivers/framework/model/misc/light/driver/,這里有include/light_driver.h和src/light_driver.c

再往上找到light的用戶態HAL接口://drivers/peripheral/misc/light/hal/,這里也有src/light_controller.h 和 src/light_controller.c。

在//drivers/peripheral/misc/light/下還有hdi_service和inteRFaces。

還可以找到//drivers/interface/light/v1_0/ILightinterface.idl

經過代碼的解讀和畫圖整理,可以得到如下的流程圖。

3. 流程圖

1a3c2c90-c430-11ec-bce3-dac502259ad0.png

【附件有原始大圖】

4. 測試程序

雖然//drivers/peripheral/misc/light/test/路徑下已經有測試程序了,但我還是自己用C語言實現了一個簡單的無界面測試程序。

ledx:可執行程序,你可將其推送到平臺的/bin/目錄下,然后在shell上執行./bin/ledx即可看到效果。

ledx.c:測試程序源代碼

BUILD.gn:測試程序編譯腳本,在//applications/standard/hap/ohos.build文件的 module_list 下增加一句:

“//…(BUILD.gn部署路徑)…/ledx:ledx”,

讓它參與編譯即可。

light_driver.c 經過我修改的light驅動程序,見宏liangkz_modify包括住的部分代碼。

【原始的內核態驅動程序light_driver.c中存在bug,導致實際運行并不如預期,需要修復light_driver.c中的bug后才完全如預期】

ledx 測試程序會自動跑以下一個點燈序列:

HILOG_INFO(LOG_APP, “

ledId [-1, 0, 1, 2]: -1-Exit, 0-GetLightInfo, 1-Led1, 2-Led2”);HILOG_INFO(LOG_APP, “

ledMod[-1, 0, 1 ]: -1-Flash,0-Off, 1-On”);HILOG_INFO(LOG_APP, “

ledBrt[ 1, 2, 4, x]:

1-R,

2-G,

4-B, x-bit”);

int32_t matrix[][3] =

{

{0, 0, 0}, //GetLightInfo

{1, 0, 7}, //LED1 Off all RGB

{1, 1, 1}, //LED1 On R

{1, 1, 2}, //LED1 On G

{1, 1, 4}, //LED1 On B

{1, 0, 0}, //LED1 Off

{1, 1, 7}, //LED1 On BGR:111

{1, 1, 6}, //LED1 On BG-:110

{1, 1, 5}, //LED1 On B-R:101

{1, 1, 4}, //LED1 On B--:100

{1, 1, 3}, //LED1 On -GR:011

{1, 1, 2}, //LED1 On -G-:010

{1, 1, 1}, //LED1 On --R:001

{1, 0, 0}, //LED1 Off

{1, -1, 7}, //LED1 Flash RGB

{-1, 0, 0},//Exit};

小伙伴們可自行根據規則添加測試序列。

5. 發現并修復bug

在寫ledx測試程序做驗證時,發現死活都得不到預期效果,我就干脆從下到上把整個流程畫了圖出來,發現驅動程序果然有不可預料的行為。

5.1 LED燈的數量

在沒得到原理圖和GPIO管腳編號的情況下,我猜測DAYU200開發板排線旁邊的LED燈,應該是如下圖所示:

1a683998-c430-11ec-bce3-dac502259ad0.png

在light_config.hcs中寫 lightId = [1, 2];相當于說是有兩盞燈,但實際上,要么是1盞,要么是3盞,我這里暫且把RGB合在一起當做一盞燈來處理?!拘』锇閭兛蓢L試一下把它當做三盞燈來處理,看看該怎么改】

5.2 GpioWrite()的行為

light_driver.c中對GpioWrite()的幾處調用中,對drvData->info[lightId]->busNum的使用,很明顯是不合理的,這是造成測試效果不符合預期的根本原因。

我對此做了一下修改,用 UpdateLight(uint32_t lightId, uint32_t lightOn)來替代,小伙伴們讀一下附件的代碼估計就清楚了。

6.更進一步的測試

仔細再思考一下更復雜的燈控流程,看看有沒有小伙伴試一下做出來:

控制三色燈分別有各自獨立的行為:比如Red燈常亮的時候,Green燈按頻率1來閃爍,Blue燈按頻率2來閃爍。

Hi3516開發板上也有三色燈(紅、綠、紅外),移植到Hi3516開發板的小型系統上試試看。

審核編輯 :李倩

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

    關注

    0

    文章

    6

    瀏覽量

    6377
  • rgb燈
    +關注

    關注

    0

    文章

    11

    瀏覽量

    2065

原文標題:RK3568三色燈點燈流程/測試用例/修復bug

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    XINGLIGHT 成興光 幻彩LED 珠#幻彩漸變 #RGB炫彩燈

    RGB
    成興光電子
    發布于 :2026年02月27日 16:28:33

    RGB時序條的工作原理講解

    圖文配合講解了RGB時序條的應用場景、什么是RGB時序條、信號格式與傳輸規則、珠芯片的工作流程、顏色與動態效果
    發表于 02-06 11:36 ?0次下載

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

    的色彩控制能力。本文聚焦Gokit3開發板(MCU模式,主控STM32F103C8T6),以HAL庫為開發基礎,從P9813驅動芯片的工作原理入手,系統講解RGB
    的頭像 發表于 01-28 19:11 ?5066次閱讀
    《機智云Gokit3開發篇》4 <b class='flag-5'>RGB</b><b class='flag-5'>燈</b>的介紹與驅動移植(HAL庫)

    零知標準板+PAJ7620U2手勢控制WS2812 RGB

    RGB
    PCB56242069
    發布于 :2025年12月29日 17:17:34

    DAYU200開發板原理圖】DAYU200板開發板沒有完整原理圖嗎?MIPI DSI雙屏同顯怎么配置?

    1.DAYU200開發板沒有完整原理圖,無法完成LCD+觸摸屏切換到MIPI DSI TX1接口,也無法完成MIPI DSI0和DSI1的雙屏同顯/異顯輸出。 2.MIPI DSI0和DSI1的雙屏同顯/異顯,應該怎么配置設備樹或者修改驅動代碼。
    發表于 11-06 15:43

    如何使用 MS51 PWM 通過 UART 控制 RGB LED?

    使用 MS51 PWM 通過 UART 控制 RGB LED
    發表于 08-20 07:24

    請問各位dayu200是不是不支持燒錄64位的OpenHarmony

    我自己編譯了OpenHarmony5.0.2的鏡像,發現如果使用arm64參數編譯為64位版本,燒錄后卡在開機動畫無法開機,如果編譯為32位就可以正常。請問dayu200不支持64位系統嗎?
    發表于 08-16 17:39

    RGB LED 時尚照明控制器 skyworksinc

    電子發燒友網為你提供()RGB LED 時尚照明控制器相關產品參數、數據手冊,更有RGB LED 時尚照明控制器的引腳圖、接線圖、封裝手冊、中文資料、英文資料,
    發表于 07-28 18:34
    <b class='flag-5'>RGB</b> LED 時尚照明<b class='flag-5'>控制</b>器 skyworksinc

    虹科免拆案例 | 2010款奔馳E200CGI車EPS OFF異常點亮

    反映,組合儀表的EPSOFF(車身穩定系統關閉)異常點亮。故障現象故障診斷故障排除用故障檢測儀檢測,發現車身穩定系統控制單元(N30/4)中存儲有故
    的頭像 發表于 07-24 11:15 ?637次閱讀
    虹科免拆案例 | 2010款奔馳E<b class='flag-5'>200</b>CGI車EPS OFF<b class='flag-5'>燈</b>異常點亮

    【BPI-CanMV-K230D-Zero開發板體驗】+控制與Python編程

    ,在學習Python編程的基礎通過GPIO來實現LED控制。 在開發板,僅有的2個可供GPIO控制的器件是
    發表于 06-27 17:33

    智慧路燈核心大腦——路燈單控制器-無線單調光控制

    智慧路燈核心大腦——路燈單控制器-無線單調光控制
    的頭像 發表于 05-27 09:52 ?1049次閱讀
    智慧路燈核心大腦——路燈單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器-無線單<b class='flag-5'>燈</b>調光<b class='flag-5'>控制</b>器

    氛圍的發展歷程和應用場景

    車載氛圍是一種安裝在汽車內部的照明系統,主要用于營造車內特定的氛圍和環境效果。常見的光源技術包括 LED、OLED 等,利用 RGB 色彩控制技術,通過調節紅、綠、藍三種基色 LED
    的頭像 發表于 04-27 16:31 ?2475次閱讀

    虹科免拆案例 | 2016款奔馳C200L車組合儀表多個故障偶爾點亮

    2016款奔馳C200L車組合儀表多個故障偶爾點亮杭州捷盛行汽車服務有限公司樂翔故障現象故障診斷故障排除一輛2016款奔馳C200L車,搭載274920發動機,累計行駛里程約為13
    的頭像 發表于 04-23 11:56 ?1235次閱讀
    虹科免拆案例 | 2016款奔馳C<b class='flag-5'>200</b>L車組合儀表<b class='flag-5'>上</b>多個故障<b class='flag-5'>燈</b>偶爾點亮

    物聯網單控制聯網單控制

    物聯網單控制聯網單控制
    的頭像 發表于 04-03 10:53 ?857次閱讀
    物聯網單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器 <b class='flag-5'>燈</b>聯網單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器

    控制器是如何控制單盞路燈的

    控制器是如何控制單盞路燈的
    的頭像 發表于 04-02 11:35 ?914次閱讀