在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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合在一起當做一盞燈來處理。【小伙伴們可嘗試一下把它當做三盞燈來處理,看看該怎么改】

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

    瀏覽量

    6213
  • rgb燈
    +關注

    關注

    0

    文章

    9

    瀏覽量

    1901

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

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

收藏 人收藏

    評論

    相關推薦

    dayu200 rk3568 openharmony5.0 sim卡 通話服務

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

    基于瑞薩R7FA2E1A72DFL的可觸摸控制器設計

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

    智慧城市路燈——聯網單控制系統,單控制

    智慧城市路燈——聯網單控制系統,單控制
    的頭像 發表于 11-11 12:52 ?365次閱讀
    智慧城市路燈——<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>器

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

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

    在DRA7xx器件使用DSS回寫管道進行RGB到YUV轉換

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

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

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

    智能家居之旅(7):HomeAssistant開發板的RGB顏色

    怎么HomeAssistant,然后控制Ai-M61開發板的 RGB 的顏色,感覺這個項目用來控制家里的
    的頭像 發表于 07-03 16:39 ?503次閱讀
    智能家居之旅(7):HomeAssistant開發板的<b class='flag-5'>RGB</b>顏色

    ESP32-C3-DevKitM-1跑示例程序Blink,RGB不閃的原因?

    新手學習,買了兩塊ESP32-C3-DevKitM-1,到手后插入USB供電后,兩塊開發板的RGB藍色常亮。然后燒錄示例example
    發表于 06-21 06:01

    【鴻蒙】OpenHarmony運行docker詳細步驟

    1.環境和設備 系統版本: 3.2release(64 位) OpenHarmony 內核版本:5.10 標準系統設備: DAYU200 Docker:18.03.1 (64 位) sd 卡一張
    的頭像 發表于 03-02 15:10 ?2679次閱讀
    【鴻蒙】OpenHarmony運行docker詳細步驟

    OpenHarmony鴻蒙應用如何使用滾動類組件

    型號:DAYU200(RK3568) 系統版本:OpenHarmony 4.1.5.5 演示 demo: 演示 demo 分為兩部分: WaterFlow 控制、WaterFlow 屬性,WaterFlow 控制可設置瀑布流容器
    的頭像 發表于 02-24 18:48 ?1312次閱讀
    OpenHarmony鴻蒙應用如何使用滾動類組件

    請問DAYU200有SPI可以用么

    大家好,請問DAYU200有SPI可以用么 我看這里https://developer.huawei.com/consumer/cn/market/prod-detail?productId
    發表于 02-20 11:38

    如何使用Arduino控制RGB LED

    在本指南中,您將學習如何使用Arduino控制RGB LED。RGB(紅-綠-藍)LED可以通過混合不同強度的紅、綠、藍光來產生多種顏色。您將學習創建一個基本Arduino RGB L
    的頭像 發表于 02-11 10:28 ?5012次閱讀
    如何使用Arduino<b class='flag-5'>控制</b><b class='flag-5'>RGB</b> LED

    控制器工作原理是什么?單控制器是如何控制燈具的?

    控制器工作原理是什么?單控制器是如何控制燈具的? 單
    的頭像 發表于 02-03 11:38 ?2279次閱讀

    深入解析:DLT8SA04A芯片驅動的24V幻彩RGB動態軟帶設計

    這款24V幻彩RGB動態軟帶,搭載了先進的DLT8SA04A芯片,代表了智能照明領域的一次技術革新。其核心芯片DLT8SA04A,以其簡化的電路設計和卓越的穩定性,為帶提供了可靠的性能基礎。
    的頭像 發表于 01-21 11:58 ?6267次閱讀
    深入解析:DLT8SA04A芯片驅動的24V幻彩<b class='flag-5'>RGB</b>動態軟<b class='flag-5'>燈</b>帶設計

    深度解析:DLT8P65SA芯片驅動的220V RGB水族創新方案

    這款DLT8P65SA芯片驅動的220V RGB水族是一項創新的照明解決方案,專為水族愛好者設計。該方案以其高效的1K OTP程序存儲器和支持高頻8MHZ RC振蕩時鐘源的DLT8P65SA芯片為
    的頭像 發表于 01-17 21:02 ?546次閱讀
    深度解析:DLT8P65SA芯片驅動的220V <b class='flag-5'>RGB</b>水族<b class='flag-5'>燈</b>創新方案
    主站蜘蛛池模板: 在线观看日本亚洲一区| 亚洲xxx视频| 在线视频永久在线视频| 国产中文99视频在线观看| 久久视频精品36线视频在线观看| 毛片在线不卡| 国产免费午夜高清| 亚洲国产情侣偷自在线二页| 国产午夜三级| 亚洲色图.com| 日产乱码免费一卡二卡在线| 欧美精品啪啪| 亚洲最新在线| 特级aaaaaaaaa毛片免费视频| 色综合天天综合网国产人| 日本午夜大片a在线观看| 亚洲福利在线视频| 色综合久久久久综合99| 欧美午夜场| 国产精品嫩草影院午夜| 一级片在线免费看| 日本久操视频| 色 ed2k| 欧亚精品卡一卡二卡三| 亚洲精品福利你懂| 欧美色综合高清免费| 国产成人精品亚洲77美色| 久久综合狠狠综合久久| 国产精品欧美一区二区三区不卡| 一级一黄在线观看视频免费| xx网成人| 日本高清视频色| 男人操女人免费| 一级毛片免费全部播放| 日产毛片| v天堂网| 18年大片免费在线观看| 欧美高清老少配性啪啪| 8x8x极品国产在线| 五月天婷婷激情| 两性色午夜视频自由成熟的性|