99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

DAYU200上的RGB燈怎么控制

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

掃碼添加小助手

加入工程師交流群

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

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

2. 驅(qū)動代碼分析

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

再往上找到light的內(nèi)核態(tài)驅(qū)動程序://drivers/framework/model/misc/light/driver/,這里有include/light_driver.h和src/light_driver.c

再往上找到light的用戶態(tài)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

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

3. 流程圖

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

【附件有原始大圖】

4. 測試程序

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

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

ledx.c:測試程序源代碼

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

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

讓它參與編譯即可。

light_driver.c 經(jīng)過我修改的light驅(qū)動程序,見宏liangkz_modify包括住的部分代碼。

【原始的內(nèi)核態(tài)驅(qū)動程序light_driver.c中存在bug,導(dǎo)致實際運行并不如預(yù)期,需要修復(fù)light_driver.c中的bug后才完全如預(yù)期】

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};

小伙伴們可自行根據(jù)規(guī)則添加測試序列。

5. 發(fā)現(xiàn)并修復(fù)bug

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

5.1 LED燈的數(shù)量

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

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

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

5.2 GpioWrite()的行為

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

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

6.更進一步的測試

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

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

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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 三色燈
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6324
  • rgb燈
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    2011

原文標(biāo)題:RK3568三色燈點燈流程/測試用例/修復(fù)bug

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    氛圍的發(fā)展歷程和應(yīng)用場景

    車載氛圍是一種安裝在汽車內(nèi)部的照明系統(tǒng),主要用于營造車內(nèi)特定的氛圍和環(huán)境效果。常見的光源技術(shù)包括 LED、OLED 等,利用 RGB 色彩控制技術(shù),通過調(diào)節(jié)紅、綠、藍三種基色 LED
    的頭像 發(fā)表于 04-27 16:31 ?857次閱讀

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

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

    物聯(lián)網(wǎng)單控制聯(lián)網(wǎng)單控制

    物聯(lián)網(wǎng)單控制聯(lián)網(wǎng)單控制
    的頭像 發(fā)表于 04-03 10:53 ?369次閱讀
    物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器 <b class='flag-5'>燈</b>聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器

    DLPC7540EVM RGB的恒流源輸出電流是60HZ的方波嗎?

    我們想做一套RGB的外部驅(qū)動電源,RGB的恒流源輸出電流是60HZ的方波么?是不是通過三路RGB_EN來控制的。另外三路RGB_PWM是不
    發(fā)表于 02-21 15:02

    零知開源——玩轉(zhuǎn)WS2812B條模塊

    WS2812RGB帶 ????? 通過零知標(biāo)準(zhǔn)開發(fā)板平臺上驅(qū)動WS2812RGB珠,包括WS2812B的供電電壓、接線和代碼實現(xiàn)。通過創(chuàng)建延時函數(shù)和設(shè)置級聯(lián)數(shù)據(jù),實現(xiàn)對
    的頭像 發(fā)表于 02-19 15:09 ?1559次閱讀
    零知開源——玩轉(zhuǎn)WS2812B<b class='flag-5'>燈</b>條模塊

    如何化解智能控制難題?AI大模型讓智能控制告別 “死板” !

    意圖方面存在諸多局限。而大模型(LLM,LargeLanguageModel)的出現(xiàn),為這一領(lǐng)域帶來了新的曙光,特別是在智能的精準(zhǔn)控制,展現(xiàn)出巨大的潛力。傳統(tǒng)智
    的頭像 發(fā)表于 02-13 18:03 ?720次閱讀
    如何化解智能<b class='flag-5'>燈</b><b class='flag-5'>控制</b>難題?AI大模型讓智能<b class='flag-5'>燈</b><b class='flag-5'>控制</b>告別 “死板” !

    物聯(lián)網(wǎng)單控制器:路燈單控制更智能,更好用

    物聯(lián)網(wǎng)單控制器:路燈單控制更智能,更好用
    的頭像 發(fā)表于 01-15 16:17 ?606次閱讀
    物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器:路燈單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>更智能,更好用

    控制:物聯(lián)網(wǎng)單控制器將成為行業(yè)主流

    控制:物聯(lián)網(wǎng)單控制器將成為行業(yè)主流
    的頭像 發(fā)表于 01-15 16:15 ?522次閱讀
    單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>:物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器將成為行業(yè)主流

    臺懋半導(dǎo)體MOS管:在 RGB 控制器中的卓越表現(xiàn)

    一、行業(yè)背景在當(dāng)今絢麗多彩的電子世界里,從璀璨奪目的舞臺燈光,到酷炫迷人的電腦機箱帶,再到智能家居設(shè)備那靈動多變的指示,RGB控制器宛如一位神奇的“光影魔術(shù)師”,通過調(diào)配紅、綠、藍
    的頭像 發(fā)表于 01-08 15:08 ?604次閱讀
    臺懋半導(dǎo)體MOS管:在 <b class='flag-5'>RGB</b> <b class='flag-5'>控制</b>器中的卓越表現(xiàn)

    dayu200 rk3568 openharmony5.0 sim卡 通話服務(wù)

    想請問一下有人在dayu200 rk3568插過sim卡并且成功完成過通話服務(wù)嗎? 我現(xiàn)在在dayu200燒錄了openHarmony release 5.0.0版本的鏡像,在上面
    發(fā)表于 12-26 16:52

    基于瑞薩R7FA2E1A72DFL的可觸摸控制器設(shè)計

    基于瑞薩R7FA2E1A72DFL設(shè)計的一款可觸摸控制器,引出可用IO管腳,可以作為開發(fā)板使用。板載ESP-WROOM-02模組可以使得開發(fā)板具有聯(lián)網(wǎng)控制的能力,同時也板載RGB
    的頭像 發(fā)表于 11-29 11:40 ?972次閱讀
    基于瑞薩R7FA2E1A72DFL的可觸摸<b class='flag-5'>燈</b>帶<b class='flag-5'>控制</b>器設(shè)計

    智慧城市路燈——聯(lián)網(wǎng)單控制系統(tǒng),單控制

    智慧城市路燈——聯(lián)網(wǎng)單控制系統(tǒng),單控制
    的頭像 發(fā)表于 11-11 12:52 ?1067次閱讀
    智慧城市路燈——<b class='flag-5'>燈</b>聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>系統(tǒng),單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器

    寵物屋體驗控制電機、RGB全彩LED與溫濕度傳感器

    GoKit2代,把應(yīng)用板與主控板分離,使用了arduino標(biāo)準(zhǔn)接口,如下圖:應(yīng)用板依然板載了正反轉(zhuǎn)可調(diào)速電機馬達、溫濕度傳感器、紅外感應(yīng)器、RGB全彩LED,另外增加了OLED擴展接口,你可以
    的頭像 發(fā)表于 10-13 08:03 ?602次閱讀
    寵物屋體驗<b class='flag-5'>控制</b>電機、<b class='flag-5'>RGB</b>全彩LED<b class='flag-5'>燈</b>與溫濕度傳感器

    在DRA7xx器件使用DSS回寫管道進行RGB到Y(jié)UV轉(zhuǎn)換

    電子發(fā)燒友網(wǎng)站提供《在DRA7xx器件使用DSS回寫管道進行RGB到Y(jié)UV轉(zhuǎn)換.pdf》資料免費下載
    發(fā)表于 10-11 11:45 ?0次下載
    在DRA7xx器件<b class='flag-5'>上</b>使用DSS回寫管道進行<b class='flag-5'>RGB</b>到Y(jié)UV轉(zhuǎn)換

    的顯示屏是什么意思?我們一般稱為桿屏或者AI LED桿屏

    的顯示屏是什么意思?我們一般稱為桿屏或者AI LED桿屏
    的頭像 發(fā)表于 09-30 14:48 ?763次閱讀
    <b class='flag-5'>燈</b>桿<b class='flag-5'>上</b>的顯示屏是什么意思?我們一般稱為<b class='flag-5'>燈</b>桿屏或者AI LED<b class='flag-5'>燈</b>桿屏