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

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

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

3天內不再提示

WiFi-IoT套件的LED燈控制以及PWM控制

電子工程師 ? 來源:HarmonyOS社區 ? 作者:HarmonyOS社區 ? 2021-01-13 10:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

功能很簡單,就是操作GPIO控制LED亮滅以及PWM輸出控制LED明亮度,但是在這個過程中遇到很多問題。

首先是GPIO輸出高低電平控制LED燈亮滅。查看官方文提供的原理圖,找到燈部分的電路。發現燈板其實有兩塊,只是其中一塊是交通燈板,另外一塊是三色RGB燈。控制引腳完全相同。這里以RGB燈板為例。

根據接口再去底板接口那里去查看,可以對應出:

紅色--GPIO10_PWM1

綠色--GPIO11_PWM2

藍色--GPIO12_PWM3

核心板的LED1--GPIO9

接下來的修改就是直接在SDK中的ap/iothardware/led_example.c中進行修改了。里面已經有了GPIO的初始化以及調用了,這里只是增加和修改引腳而已。

注意:例程里面用的GPIO9,也就是核心板上的LED1.如果插上的是RGB燈板,則LED1始終亮,不會隨引腳改變而改變。這一點讓我懷疑代碼懷疑了很久,后來查電路圖才發現RGB燈板GPIO9引腳接了紅外檢測引腳。這個引腳是上拉的,也就是說就是主控下拉讓LED1滅,實際上也不會滅。

34a6eeca-5146-11eb-8b86-12bb97331649.png

到這里操作GPIO就完成了,很簡單,就在官方的例程里面修改就行了。但是,還沒結束,上面也說了,RGB這三個引腳是復用功能,可以復用PWM輸出功能,這里繼續將代碼改為PWM控制。

首先初始化GPIO,然后將這3個引腳設為PWM復用輸出功能,并指定PWM的時鐘

#define LED_RED WIFI_IOT_IO_NAME_GPIO_10#define LED_GREEN WIFI_IOT_IO_NAME_GPIO_11#define LED_BLUE WIFI_IOT_IO_NAME_GPIO_12

GpioInit();

IoSetFunc(LED_RED, WIFI_IOT_IO_FUNC_GPIO_10_PWM1_OUT);

GpioSetDir(LED_RED, WIFI_IOT_GPIO_DIR_OUT);

IoSetFunc(LED_GREEN, WIFI_IOT_IO_FUNC_GPIO_11_PWM2_OUT);

GpioSetDir(LED_GREEN, WIFI_IOT_GPIO_DIR_OUT);

IoSetFunc(LED_BLUE, WIFI_IOT_IO_FUNC_GPIO_12_PWM3_OUT);

GpioSetDir(LED_BLUE, WIFI_IOT_GPIO_DIR_OUT);

hi_pwm_init(HI_PWM_PORT_PWM1);

hi_pwm_init(HI_PWM_PORT_PWM2);

hi_pwm_init(HI_PWM_PORT_PWM3);

hi_pwm_set_clock(PWM_CLK_160M);

完成初始化后就是功能了,控制pwm占空比調節led亮度。

void LedPWM(uint16 pwm_r, uint16 pwm_g, uint16 pwm_b){

hi_pwm_start(HI_PWM_PORT_PWM1, pwm_r, 1600);

hi_pwm_start(HI_PWM_PORT_PWM2, pwm_g, 1600);

hi_pwm_start(HI_PWM_PORT_PWM3, pwm_b, 1600);}

這一段在while(1)里面循環執行,改變PWM占空比的值。

switch(sta) { case 0: if(pwm_R 《 1500) pwm_R += 5; else { sta = 1; pwm_R = 2; pwm_G = 2; pwm_B = 2; }

break; case 1: if(pwm_G 《 1200) pwm_G += 5; else { sta = 2; pwm_R = 2; pwm_G = 2; pwm_B = 2; }

break; case 2: if(pwm_B 《 1200) pwm_B += 5; else { sta = 0; pwm_R = 2; pwm_G = 2; pwm_B = 2; }

break; } LedPWM(pwm_R, pwm_G, pwm_B); usleep(2);

PWM相關的函數都是在hi_PWM.h中定義的,所以要引用這個頭文件,另外這個例子所在的BUILD.gn文件中也要新增其所在的位置:“//vendor/hisi/hi3861/hi3861//include”。

在app所在的BUILD.gn里面的features項目中加入新增的led_example.c所在的路徑:“iothardware:led_example”,到這里貌似都完成了設置以及實現。但是編譯的時候直接報錯:undefined reference to hi_PWM_start以及其他幾個函數的錯誤。

這個問題糾結了我好久。后來還是看連志安的ole驅動中的IIC操作才知道要在hi3861驅動中配置打開PWM功能才會編譯PWM部分進代碼,不然始終找不到具體的實現。編譯通不過。

具體在vendor/hisi/hi3861/hi3861/build/config/usr_config.mk文件中新增CONFIG_PWM_SUPPORT=y 才行。

不熟悉整個框架遇到問題并不好處理。

另外調試PWM過程中發現hi_PWM_start函數中的duty參數不要設置為0。在調試3色時候兩色設為0,實際上是白色,都亮了。后來設置為2就ok,三色互不影響。

責任編輯:lq

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

    關注

    22

    文章

    1606

    瀏覽量

    111868
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5872

    瀏覽量

    225663
  • GPIO
    +關注

    關注

    16

    文章

    1328

    瀏覽量

    56231
  • OpenHarmony
    +關注

    關注

    33

    文章

    3952

    瀏覽量

    21103

原文標題:WiFi-IoT套件的LED燈控制以及PWM控制

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PWM經典應用:LED亮度控制及呼吸實戰

    信號生成: 加熱控制: 本文特別分享PWM相關基礎知識,并以Air8000核心板為例,演示LuatOS開發中如何使用PWM功能實現LED亮度控制
    的頭像 發表于 01-05 20:50 ?251次閱讀
    <b class='flag-5'>PWM</b>經典應用:<b class='flag-5'>LED</b>亮度<b class='flag-5'>控制</b>及呼吸<b class='flag-5'>燈</b>實戰

    PWM 控制 LED、蜂鳴器、電機:你真的用對了嗎?

    在做嵌入式開發的時候,PWM(脈寬調制)幾乎是必學技能。LED想要呼吸效果?PWM。蜂鳴器要發“滴滴”的提示音?PWM。電機需要調速?還是PWM
    的頭像 發表于 01-04 09:14 ?534次閱讀
    <b class='flag-5'>PWM</b> <b class='flag-5'>控制</b> <b class='flag-5'>LED</b>、蜂鳴器、電機:你真的用對了嗎?

    基于PWMLED調光技術與呼吸實現方法!

    利用PWM技術控制LED亮度,不僅效率高、響應快,還能實現細膩的視覺過渡。系統介紹PWM的工作機制,結合具體硬件平臺,展示如何編程實現LED
    的頭像 發表于 12-15 13:03 ?436次閱讀
    基于<b class='flag-5'>PWM</b>的<b class='flag-5'>LED</b>調光技術與呼吸<b class='flag-5'>燈</b>實現方法!

    LED觸摸控制PCBA方案開發 | 控觸摸方案開發

    單鍵LED觸摸控制PCBA方案開發控觸摸方案開發PCBA方案控方案支持定制尋找靈活、可靠的LED燈光
    的頭像 發表于 12-10 17:43 ?374次閱讀
    <b class='flag-5'>LED</b>觸摸<b class='flag-5'>控制</b>PCBA方案開發 | <b class='flag-5'>燈</b>控觸摸方案開發

    LuatOS中PWM實現LED亮度調節與呼吸的實戰教程

    PWMLED亮度調節和呼吸效果實現方面有著廣泛應用。在LuatOS環境中,如何高效運用PWM功能是開發者需要掌握的關鍵。本實戰教程將通過具體案例,引導開發者快速上手,輕松實現
    的頭像 發表于 11-11 19:05 ?8485次閱讀
    LuatOS中<b class='flag-5'>PWM</b>實現<b class='flag-5'>LED</b>亮度調節與呼吸<b class='flag-5'>燈</b>的實戰教程

    LED帶離線語音控制方案WTK6900P

    在家居裝飾以及部分公共空間裝飾已LED帶經成為了一種主流的燈飾方案,今天我們主要講的是家居內部空間的控制,因為公共部分的燈具不適用語音
    的頭像 發表于 09-15 17:31 ?999次閱讀

    【高云GW5AT-LV60 開發套件試用體驗】三、LED控制實驗

    【高云GW5AT-LV60 開發套件試用體驗】三、LED控制實驗 高云軟件開發環境搭建好以后,進行正式的FPGA編程前,必須使用安裝好的Gowin 軟件,結合高云GW5AT-LV60
    發表于 07-21 05:57

    NB-IoT控制器:智慧照明的“神經末梢”

    的精確控制與管理。 工作原理 NB - IoT控制器內部集成了傳感器、通信模塊以及控制芯片
    的頭像 發表于 04-27 16:33 ?670次閱讀

    LED6001 PWM調光單通道LED驅動器,具有集成增壓控制器數據手冊

    的亮度可以通過兩個獨立的引腳通過 PWM 調光和模擬調光(10:1 比率)來控制。通過與 LED 串串聯并由專用引腳直接驅動的 MOSFET,可以獲得增強的
    的頭像 發表于 04-09 17:37 ?1152次閱讀
    <b class='flag-5'>LED</b>6001 <b class='flag-5'>PWM</b>調光單通道<b class='flag-5'>LED</b>驅動器,具有集成增壓<b class='flag-5'>控制</b>器數據手冊

    基于小凌派RK2206開發板:OpenHarmony如何使用IoT接口控制PWM外設

    /rk2206/samples/b16_iot_pwm 2、基礎知識 PWM在日常設備中非常常見,以下我們將演示IoT庫的PWM接口如何進行PWM
    發表于 04-09 09:37

    ALED6001 帶集成式升壓控制器的車規級PWM可調光單通道LED驅動器數據手冊

    降壓-升壓。LED亮度的PWM調光通過與LED帶串聯的外部MOSFET來實現,并由專用引腳直接驅動。管理LED電流設置的引腳(通常與外部電
    的頭像 發表于 04-08 18:00 ?1168次閱讀
    ALED6001 帶集成式升壓<b class='flag-5'>控制</b>器的車規級<b class='flag-5'>PWM</b>可調光單通道<b class='flag-5'>LED</b>驅動器數據手冊

    基于NB-IoT控制器的智慧路燈應用案例及效果分析

    基于NB-IoT控制器的智慧路燈應用案例及效果分析
    的頭像 發表于 04-07 15:16 ?1038次閱讀
    基于NB-<b class='flag-5'>IoT</b>單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>器的智慧路燈應用案例及效果分析

    物聯網單控制聯網單控制

    物聯網單控制聯網單控制
    的頭像 發表于 04-03 10:53 ?858次閱讀
    物聯網單<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>器

    【幸狐Omni3576邊緣計算套件試用體驗】PWM呼吸

    【幸狐Omni3576邊緣計算套件試用體驗】PWM呼吸 本文介紹了幸狐Omni3576邊緣計算套件實現 GPIO 輸出電平的控制
    發表于 04-03 04:59

    【瑞薩RA2L1入門學習】01. PWM 呼吸

    占空比的調節就是實現呼吸效果的關鍵。通過控制PWM信號的占空比,可以實現對LED亮度的連續調節。在遞增占空比階段,
    發表于 03-07 11:43