欧洲精品久久久av无码电影,日日噜噜夜夜爽爽,精品无码国产自产拍在线观看蜜,人妻少妇被粗大爽9797pw,羞国产在线拍揄自揄视频,国产白嫩漂亮美女在线观看,天码欧美日本一道免费,av大片在线无码免费

      歡迎來到同城快修-附近家電維修、家電清洗、家電安裝服務平臺

      24小時家電維修熱線:

      400—1558638

      當前位置:主頁 > 空調 > 維修資訊 >

      背光燈代碼(背光燈電路圖)

      發布日期:2023-01-29 22:56:18 瀏覽:
      背光燈代碼(背光燈電路圖)

      前沿拓展:


      這一節主要就是一個內容:PWM的用法。

      先看手冊上對PWM功能的介紹(以下內容轉自樂鑫手冊):

      ESP8266系統的PWM( Pulse Width Modulation)由FRC1在軟件上實現,可實現同頻

      率、不同占空比的多路PWM,可用來控制彩燈、蜂鳴器和電機等設備。

      說明:FRC1是一個23bts的硬件定時器。

      PWM的特性如下所示。

      使用NM( Non Maskable Interrupt)中斷,更加精確。

      可擴展最多8路PVM信號

      >14bit分辨率,最小分辨率45ns。

      無需配置寄存器,調用函數接口即可完成配置。

      注意:PWM驅動接口不能跟硬件定時器(hw_timer)接口函數同時使用,因為二者共用一個硬件定時器。

      參數說明

      最小分辨率:45ns(近似對應于硬件 PWM 的輸入時鐘頻率為22.72 MHZ ) :>14 bit PWM @1 KHZ

      PWM 周期:1000 us (1 KHz )~10000 us (100 Hz)

      嵌入式物聯網需要學的東西真的非常多,千萬不要學錯了路線和內容,導致工資要不上去!

      無償分享大家一個資料包,差不多150多G。里面學習路線、面經、項目都比較新也比較全面!某魚上買估計至少要好幾十。

      點擊這里找小助理0元領取:嵌入式物聯網學習資料()

      先說頻率范圍,100HZ~1KHZ,這個頻率實在是有些低。不過據說有些人能用到二三十K,不知道真的假的。由于本人比較懶,沒有測,所以上面的說法僅供參考。

      然后是用法,依然使用萬能的三色LED做演示,做一個呼吸燈。

      最終實現的效果,上電后,三個LED依次從暗到亮,熄滅,下一個~~~

      另外,官方的SDK里面,提供了一個IoT_Demo的例程,里面有用PWM實現呼吸燈的代碼。所以這里參考例程,進行一定的修改。

      使用之前包含下面的頭文件,同時把user_light.c文件拷到user目錄下:

      include &34;user_light.h&34;

      include &34;pwm.h&34;

      先說PWM的用法,很簡單,只有三步。但因為我用了user_light.c里面的結構體,所以多加一步,先定義一個結構體。

      1

      定義一個結構體,存放PWM相關參數。

      struct light_saved_param light_param;

      結構體類型定義如下:

      struct light_saved_param {

      uint32 pwm_period;

      uint32 pwm_duty[PWM_CHANNEL];

      };

      PWM_CHANNEL是一個宏定義,定義PWM通道個數,這里是3.結構體里面可以設置PWM的周期,以及每個通道的占空比。

      2

      定義一個二維數組

      uint32 io_info[][3] = { {PWM_0_OUT_IO_MUX,PWM_0_OUT_IO_FUNC,PWM_0_OUT_IO_NUM},

      {PWM_1_OUT_IO_MUX,PWM_1_OUT_IO_FUNC,PWM_1_OUT_IO_NUM},

      {PWM_2_OUT_IO_MUX,PWM_2_OUT_IO_FUNC,PWM_2_OUT_IO_NUM},

      };

      這一步的意義在于,你要讓哪幾個IO輸出PWM。數組的格式要記住,但凡用到PWM,都要以這樣的格式進行定義。舉例來說,第一行:

      PWM_0_OUT_IO_MUX,PWM_0_OUT_IO_FUNC,PWM_0_OUT_IO_NUM

      分別是:管腳名、管腳功能、管腳編號。直接看肯定看不懂,因為都是宏定義,如下:

      define PWM_0_OUT_IO_MUX PERIPHS_IO_MUX_MTDI_U

      define PWM_0_OUT_IO_NUM 12

      define PWM_0_OUT_IO_FUNC FUNC_GPIO12

      有人會覺得煩,說你搞這么多宏定義累不累?

      但其實不是我搞的,IoT_Demo的例程里已經寫好了,直接用就可以。而且,這個格式相對比較規范,所以還是建議使用。

      3

      PWM初始化

      pwm_init(light_param.pwm_period, light_param.pwm_duty ,PWM_CHANNEL,io_info);

      共有四個參數:

      第一個參數:PWM的周期,這里寫的是1000,單位是us。所有通道的周期都是一樣的。

      第二個參數:PWM的占空比,上面周期是1000,那占空比的最大值是多少?

      如果答1000,那你就太年輕了!它這里有個計算公式,也需要記住(別記了,還是查手冊吧)

      duty = period1000/45

      period是1000,帶入計算得到22222.所以占空比的取值范圍是0~22222.

      第三個參數:通道個數,也就是說,你要輸出幾路PWM?

      第四個參數:PWM各個通道的GPIO的硬件參數,也就是前面定義的那個數組。

      4

      啟動PWM

      pwm_start();

      看函數名就能看懂了,不解釋。

      注意事項:手冊里對該函數的描述是參數更新,所以但凡涉及到更新的(周期、占空比),改完之后,一定要調用一下這個函數。

      經過前面四步,PWM就開始輸出了。但是,咱們要做的是呼吸燈,呼吸燈是要定時修改PWM的占空比的,怎么改?再來一次pwm_init?

      NO!

      pwm_init只能初始化的時候調用一次,嚴禁多次調用。修改占空比使用下面的函數:

      pwm_set_duty(duty, channel);

      函數名如此簡單,我已經懶得解釋了。第一個參數略過,直接看第二個,channel,要寫多少?

      首先,這里定義了三個通道,定義的時候在數組里按照從0開始的規則,對三個通道自動進行了編號,分別是:0,1,2.

      所以,你想改哪個通道,寫入哪個編號即可。

      注:參考手冊2cesp8266_non_os_sdk_api_reference_cn的157頁,和esp8266technical_reference_cn的100頁。

      保存、清理、編譯、下載一條龍,然后重新上電,你會發現呼吸燈開始變化。

      到此,PWM的用法說完了。

      原文鏈接:ESP8266_07基于PWM的呼吸燈

      轉載自:單片機愛好者

      原文鏈接:https://mp.weixin.qq.com/s/PjiTqugpUBp_VTdlhChmpw

      版權聲明:本文來源網絡,免費傳達知識,版權歸原作者所有。如涉及作品版權問題,請聯系我進行刪除

      拓展知識:

      主站蜘蛛池模板: 国产成人综合日韩精品无码| 操操干| 美女露全乳无遮掩视频| 亚洲成av人无码不卡影片| 国产精品无码专区av免费播放| 黑人干亚洲人| 婷婷五月小说| 国产又爽又大又黄a片另类软件| 极品淫少妇| 1024毛片| 精品偷拍被偷拍在线观看| 天堂网资源中文最新版| 大学生一级一片全黄| 久久视奸| 国产精品乱码人妻一区二区三区| 好男人资源在线社区| 超碰天天操| 99久99| 亚洲日韩精品a∨片无码加勒比| 亚洲成a人片77777国产| 国产视频黄| 黑人专干日本人xxxx| 久久午夜福利电影| 99热精品毛片全部国产无缓冲| 国产草草影院ccyycom| 请用你的手指扰乱我吧| 一本一道av无码中文字幕麻豆 | 影音先锋成人网| 亚洲精品国产精品国自| 免费无码不卡视频在线观看 | 四虎影院国产精品| xxxxbbbb欧美残疾人| 鸭子tv国产在线永久播放| 亚洲人成色44444在线观看| 日产电影一区二区三区| 黄色av在| 男女下面一进一出无遮挡| 在线天堂免费观看.www| 免费淫片| 天天曰天天| 国内精品久久人妻互换|