女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

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

ESP32C3 LED PWM控制器的使用方法

CHANBAEK ? 來(lái)源: FunIO ? 作者: FunIO ? 2023-07-23 11:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前對(duì)于遙控雙發(fā)差速小飛機(jī)計(jì)劃采用如下架構(gòu):

圖片

遙控小飛機(jī)框圖

馬達(dá)控制要用到 pwm,今天把 esp32c3 的 pwm 跑一下。

簡(jiǎn)介

esp32c3 中把 pwm 外設(shè)稱(chēng)為“LED PWM 控制器”,共有 6 個(gè)通道,可分配到任意 GPIO 管腳:

  • 四個(gè)獨(dú)立定時(shí)器,可實(shí)現(xiàn)小數(shù)分頻
  • 波形的周期和占空比可配置,占空比精確度可達(dá) 14 位
  • PWM 輸出信號(hào)相位可調(diào)節(jié)
  • 可在 Light-sleep 模式下工作
  • 多種時(shí)鐘源選擇,包括 APB 總線時(shí)鐘、外置主晶振時(shí)鐘
  • 支持硬件自動(dòng)步進(jìn)式地增加或減少占空比,可用于 LED RGB 彩色梯度發(fā)生器

占空比自動(dòng)漸變是一個(gè)特色功能,用于呼吸燈或其它 LED 燈效會(huì)很方便,在官方文檔特意介紹說(shuō)是 LED PWM 控制器。

使用方法

圖片

LED PWM控制器架構(gòu)

4 個(gè)定時(shí)器可獨(dú)立配置(可配置時(shí)鐘分頻器和計(jì)數(shù)器最大值),每個(gè)定時(shí)器內(nèi)部有一個(gè)時(shí)基計(jì)數(shù)器(即基于基準(zhǔn)時(shí)鐘周期計(jì)數(shù)的計(jì)數(shù)器)。每個(gè) PWM 生成器在四個(gè)定時(shí)器中擇一,以該定時(shí)器的計(jì)數(shù)值為基準(zhǔn)生成 PWM 信號(hào)。

下圖為定時(shí)器和 PWM 生成器的主要功能塊。

圖片

定時(shí)器和PWM生成器功能塊

LED PWM 控制器的每個(gè)定時(shí)器內(nèi)部都有一個(gè)時(shí)基計(jì)數(shù)器。上圖中時(shí)基計(jì)數(shù)器使用的時(shí)鐘信號(hào)稱(chēng)為ref_pulsex。所有定時(shí)器使用同一個(gè)時(shí)鐘源信號(hào)LEDC_CLKx,該時(shí)鐘源信號(hào)經(jīng)分頻器分頻后產(chǎn)生ref_pulsex供計(jì)數(shù)器使用。

設(shè)置 LEDC 通道分三步完成。注意,與 ESP32 不同,ESP32-C3 僅支持設(shè)置通道為低速模式。

  1. 定時(shí)器配置,指定 PWM 信號(hào)的頻率和占空比分辨率。
  2. 通道配置,綁定定時(shí)器和輸出 PWM 信號(hào)的 GPIO。
  3. 改變 PWM 信號(hào),輸出 PWM 信號(hào)來(lái)驅(qū)動(dòng) LED??赏ㄟ^(guò)軟件控制或使用硬件漸變功能來(lái)改變 LED 的亮度。

另一個(gè)可選步驟是可以在漸變終端設(shè)置一個(gè)中斷。

圖片

LED PWM 控制器 API 的關(guān)鍵配置

首次 LEDC 配置時(shí),最好先配置定時(shí)器(調(diào)用函數(shù) ledc_timer_config()),再配置通道(調(diào)用函數(shù) ledc_channel_config())。這樣可以確保 IO 腳上的 PWM 信號(hào)自有輸出開(kāi)始其頻率就是正確的。

定時(shí)器配置

要設(shè)置定時(shí)器,可調(diào)用函數(shù) ledc_timer_config(),并將包括如下配置參數(shù)的數(shù)據(jù)結(jié)構(gòu) ledc_timer_config_t 傳遞給該函數(shù):

  • 速度模式(值必須為 LEDC_LOW_SPEED_MODE
  • 定時(shí)器索引 ledc_timer_t
  • PWM 信號(hào)頻率(Hz)
  • PWM 占空比分辨率
  • 時(shí)鐘源 ledc_clk_cfg_t

頻率和占空比分辨率相互關(guān)聯(lián)。PWM 頻率越高,占空比分辨率越低,反之亦然。如果 API 不是用來(lái)改變 LED 亮度,而是用于其它目的,這種相互關(guān)系可能會(huì)很重要。時(shí)鐘源同樣可以限制 PWM 頻率。選擇的時(shí)鐘源頻率越高,可以配置的 PWM 頻率上限就越高。

圖片
esp32c3 ledc時(shí)鐘源特性

備注

1.如果 ESP32-C3 的定時(shí)器選用了 RC_FAST_CLK 作為其時(shí)鐘源,驅(qū)動(dòng)會(huì)通過(guò)內(nèi)部校準(zhǔn)來(lái)得知這個(gè)時(shí)鐘源的實(shí)際頻率。這樣確保了輸出 PWM 信號(hào)頻率的精準(zhǔn)性。

  1. ESP32-C3 的所有定時(shí)器共用一個(gè)時(shí)鐘源。因此 ESP32-C3 不支持給不同的定時(shí)器配置不同的時(shí)鐘源。

當(dāng)一個(gè)定時(shí)器不再被任何通道所需要時(shí),可以通過(guò)調(diào)用相同的函數(shù) ledc_timer_config() 來(lái)重置這個(gè)定時(shí)器。此時(shí),函數(shù)入?yún)⒌呐渲媒Y(jié)構(gòu)體需要指定:

  • ledc_timer_config_t::speed_mode 重置定時(shí)器的所屬速度模式 (ledc_mode_t
  • ledc_timer_config_t::timer_num 重置定時(shí)器的索引 (ledc_timer_t
  • ledc_timer_config_t::deconfigure 將指定定時(shí)器重置必須配置此項(xiàng)為 true

通道配置

定時(shí)器設(shè)置好后,請(qǐng)配置所需的通道(ledc_channel_t 之一)。配置通道需調(diào)用函數(shù) ledc_channel_config()。

通道的配置與定時(shí)器設(shè)置類(lèi)似,需向通道配置函數(shù)傳遞包括通道配置參數(shù)的結(jié)構(gòu)體 ledc_channel_config_t 。

此時(shí),通道會(huì)按照 ledc_channel_config_t 的配置開(kāi)始運(yùn)作,并在選定的 GPIO 上生成由定時(shí)器設(shè)置指定的頻率和占空比的 PWM 信號(hào)。在通道運(yùn)作過(guò)程中,可以隨時(shí)通過(guò)調(diào)用函數(shù) ledc_stop() 將其暫停。

改變 PWM 占空比

調(diào)用函數(shù) ledc_set_duty() 可以設(shè)置新的占空比。之后,調(diào)用函數(shù) ledc_update_duty() 使新配置生效。要查看當(dāng)前設(shè)置的占空比,可使用 _get_ 函數(shù) ledc_get_duty()。

另外一種設(shè)置占空比和其他通道參數(shù)的方式是調(diào)用 通道配置 一節(jié)提到的函數(shù) ledc_channel_config()

傳遞給函數(shù)的占空比數(shù)值范圍取決于選定的 duty_resolution,應(yīng)為 0(2 ** duty_resolution) - 1。例如,如選定的占空比分辨率為 10,則占空比的數(shù)值范圍為 01023。此時(shí)分辨率為 ~0.1%。

圖片
常用配置頻率及精度

實(shí)例

/* LEDC (LED Controller) basic example

   This example code is in the Public Domain (or CC0 licensed, at your option.)

   Unless required by applicable law or agreed to in writing, this
   software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   CONDITIONS OF ANY KIND, either express or implied.
*/
#include < stdio.h >
#include "driver/ledc.h"
#include "esp_err.h"

#define LEDC_OUTPUT_IO          (5) // Define the output GPIO
#define LEDC_DUTY               (4095) // Set duty to 50%. ((2 ** 13) - 1) * 50% = 4095
#define LEDC_FREQUENCY          (5000) // Frequency in Hertz. Set frequency at 5 kHz

static void example_ledc_init(void)
{
    // Prepare and then apply the LEDC PWM timer configuration
    ledc_timer_config_t ledc_timer = {
        .speed_mode       = LEDC_LOW_SPEED_MODE,
        .timer_num        = LEDC_TIMER_0,
        .duty_resolution  = LEDC_TIMER_13_BIT,
        .freq_hz          = LEDC_FREQUENCY,  // Set output frequency at 5 kHz
        .clk_cfg          = LEDC_AUTO_CLK
    };
    ESP_ERROR_CHECK(ledc_timer_config(&ledc_timer));

    // Prepare and then apply the LEDC PWM channel configuration
    ledc_channel_config_t ledc_channel = {
        .speed_mode     = LEDC_LOW_SPEED_MODE,
        .channel        = LEDC_CHANNEL_0,
        .timer_sel      = LEDC_TIMER_0,
        .intr_type      = LEDC_INTR_DISABLE,
        .gpio_num       = LEDC_OUTPUT_IO,
        .duty           = 0, // Set duty to 0%
        .hpoint         = 0
    };
    ESP_ERROR_CHECK(ledc_channel_config(&ledc_channel));
}

void app_main(void)
{
    // Set the LEDC peripheral configuration
    example_ledc_init();
    // Set duty to 50%
    ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, LEDC_DUTY));
    // Update duty to apply the new value
    ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0));
}

編譯后運(yùn)行,捕捉如下波形:

圖片

5kHz 50%占空比

修改下占空比:

ESP_ERROR_CHECK(ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, LEDC_DUTY-400));

編譯后運(yùn)行,捕捉如下波形:

圖片

5kHz 45.1%占空比

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

    關(guān)注

    242

    文章

    23798

    瀏覽量

    672854
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17066

    瀏覽量

    183735
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    839

    瀏覽量

    99874
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5474

    瀏覽量

    218904
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3298

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    利用ESP32 PWM信號(hào)控制LED的亮度

    在本教程中,我們將討論ESP32 開(kāi)發(fā)板的 PWM(脈沖寬度調(diào)制)引腳。ESP32 開(kāi)發(fā)板的所有 GPIO 引腳(Power、GND、Tx、Rx 和 EN 除外)均可用于獲取 PWM
    的頭像 發(fā)表于 08-12 15:21 ?1.8w次閱讀
    利用<b class='flag-5'>ESP32</b> <b class='flag-5'>PWM</b>信號(hào)<b class='flag-5'>控制</b><b class='flag-5'>LED</b>的亮度

    基于XIAO ESP32C3的智能家居四路控制器設(shè)計(jì)

    今天小編給大家?guī)?lái)的是印度的Maker Technolab creation的基于ESP32C3的智能家居四路控制器,該控制器可以通過(guò)傳統(tǒng)的手動(dòng)開(kāi)關(guān)按鈕、紅外遙控、智能手機(jī)進(jìn)行
    的頭像 發(fā)表于 01-02 10:53 ?2389次閱讀
    基于XIAO <b class='flag-5'>ESP32C3</b>的智能家居四路<b class='flag-5'>控制器</b>設(shè)計(jì)

    基于ESP32C3的智能小車(chē)設(shè)計(jì)

    你有沒(méi)有想過(guò),從零開(kāi)始親手制作一輛堅(jiān)固耐用的遙控越野車(chē)?今天,小編就帶你走進(jìn)一個(gè)融合機(jī)械、電子與物聯(lián)網(wǎng)的精彩DIY項(xiàng)目——一款由 Seeed Studio XIAO ESP32C3 強(qiáng)力驅(qū)動(dòng)的 3D打印4x4 RC漫游車(chē)!
    的頭像 發(fā)表于 06-04 11:11 ?663次閱讀
    基于<b class='flag-5'>ESP32C3</b>的智能小車(chē)設(shè)計(jì)

    esp32c3項(xiàng)目采用wss_server例程,把wifi斷開(kāi)的話esp32c3會(huì)重啟,為什么?

    esp32c3項(xiàng)目采用wss_server 例程,運(yùn)行后連接WiFi正常,但是如果之后把wifi斷開(kāi)的話,esp32c3會(huì)重啟,監(jiān)視顯示“assert failed: tlsf_free
    發(fā)表于 06-06 07:29

    esp32c3是否能在40mhz運(yùn)行,功耗是多少?

    你好我想使用esp32c3開(kāi)發(fā)低功耗設(shè)備,由外部電子開(kāi)關(guān)控制1小時(shí)檢測(cè)一次傳感并上傳,考慮到芯片功耗我有幾個(gè)疑問(wèn); 1:esp32c3 在160mhz 80mhz下的正常工作電流是多
    發(fā)表于 06-20 06:17

    【DFRobot Beetle ESP32-C3開(kāi)發(fā)板試用體驗(yàn)】WEBSOKET—PWMLED

    本帖最后由 華仔stm32 于 2022-6-1 09:57 編輯 【目的】展示ESP32作為web服務(wù)的,用ESP32C3寫(xiě)一個(gè)websocket服務(wù),用網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)
    發(fā)表于 06-01 08:11

    esp32c3連接wifi和tcp服務(wù)速度能否加快,esp8266 速度在5-7s左右,esp32c3能否加快?

    你好我想使用esp32c3開(kāi)發(fā)低功耗設(shè)備,由外部電子開(kāi)關(guān)控制1小時(shí)檢測(cè)一次傳感并上傳,考慮到芯片功耗我有幾個(gè)疑問(wèn);1:esp32c3 在160mhz 80mhz下的正常工作電流是多少
    發(fā)表于 02-17 06:44

    esp32c3不能操縱RTC引腳而只能保持它們或被喚醒嗎?

    我想在存根函數(shù)中操作(輸入,輸出)我的ESP32C3的RTC PINS。但我開(kāi)始懷疑 esp32c3 是否有能力做到這一點(diǎn)……確實(shí),在功能存根中,我嘗試了以下方法但沒(méi)有成功:[size=150
    發(fā)表于 03-02 08:32

    esp32c3不能操縱RTC引腳而只能保持它們或被喚醒嗎?

    我想在存根函數(shù)中操作(輸入,輸出)我的ESP32C3的RTC PINS。但我開(kāi)始懷疑 esp32c3 是否有能力做到這一點(diǎn)……確實(shí),在功能存根中,我嘗試了以下方法但沒(méi)有成功:[size=150
    發(fā)表于 04-14 07:30

    深入剖析esp32c3的系統(tǒng)底層啟動(dòng)

    riscv底層的愛(ài)好者來(lái)說(shuō),跳過(guò)ESP-IDF框架,直接像使用單片機(jī)一樣去使用ESP32C3更加有意思。本文的目的就是理解ESP32C3的裸機(jī)開(kāi)發(fā)流程,像玩單片機(jī)一樣去使用這個(gè)riscv的mcu。 2.
    的頭像 發(fā)表于 07-06 10:38 ?1.3w次閱讀
    深入剖析<b class='flag-5'>esp32c3</b>的系統(tǒng)底層啟動(dòng)

    在Arduino IDE環(huán)境下用ESP32控制多路LED調(diào)光

    ESP32帶一個(gè)包含16通道LED PWM控制器,可配置以產(chǎn)生不同特性的PWM信號(hào)。項(xiàng)目開(kāi)始之前需要先安裝Arduino IDE,連接妥當(dāng)后
    發(fā)表于 03-17 11:04 ?5015次閱讀

    ESP32 LED控制器

    電子發(fā)燒友網(wǎng)站提供《ESP32 LED控制器板.zip》資料免費(fèi)下載
    發(fā)表于 08-05 11:41 ?3次下載
    <b class='flag-5'>ESP32</b> <b class='flag-5'>LED</b><b class='flag-5'>控制器</b>板

    【DFRobot Beetle ESP32-C3開(kāi)發(fā)板試用體驗(yàn)】WEBSOKET—PWMLED

    的,用ESP32C3寫(xiě)一個(gè)websocket服務(wù),用網(wǎng)頁(yè)來(lái)實(shí)現(xiàn)控制板載LED燈亮度的例子。 【實(shí)現(xiàn)思路】1、ESP32建立webserve
    的頭像 發(fā)表于 11-28 14:11 ?1962次閱讀
    【DFRobot Beetle <b class='flag-5'>ESP32-C3</b>開(kāi)發(fā)板試用體驗(yàn)】WEBSOKET—<b class='flag-5'>PWM</b>—<b class='flag-5'>LED</b>

    ESP32 PWM驅(qū)動(dòng)電機(jī)

    18 PWM控制B電機(jī) 4 A1 15 A2 17 B1 5 B2PWM控制電機(jī)方法參考—— PWM
    發(fā)表于 03-20 11:37 ?4次下載
    <b class='flag-5'>ESP32</b> <b class='flag-5'>PWM</b>驅(qū)動(dòng)電機(jī)

    如何使用ESP32的LEDC進(jìn)行PWM控制?

    LEDC(LED控制器)是ESP32中的一個(gè)功能強(qiáng)大的PWM(脈沖寬度調(diào)制)控制器
    發(fā)表于 05-19 11:14 ?3328次閱讀
    如何使用<b class='flag-5'>ESP32</b>的LEDC進(jìn)行<b class='flag-5'>PWM</b><b class='flag-5'>控制</b>?
    主站蜘蛛池模板: 广德县| 高陵县| 福清市| 南平市| 莫力| 泾源县| 股票| 乐都县| 内丘县| 浪卡子县| 潍坊市| 景泰县| 邮箱| 洛南县| 河曲县| 长子县| 湾仔区| 新郑市| 同仁县| 牙克石市| 息烽县| 新泰市| 辽源市| 汝南县| 民勤县| 南溪县| 钟山县| 宣威市| 金门县| 张家口市| 富民县| 正阳县| 金乡县| 南澳县| 泌阳县| 忻城县| 秭归县| 麦盖提县| 沁阳市| 潢川县| 大新县|