91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

GPIO、PWM、ADC,到底怎么區(qū)分?

信盈達 ? 2025-11-14 10:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開發(fā)中,我們經(jīng)常聽到 GPIO、PWM、ADC 這些術(shù)語。初學(xué)者常常搞不清楚它們的區(qū)別和用途:“它們不是都是和電平有關(guān)嗎?為什么還要分這么多種?”今天,我們就把這些基礎(chǔ)概念講清楚,讓你在動手開發(fā)時不再迷糊。


GPIO

最基礎(chǔ)的數(shù)字接口


GPIO(General Purpose Input/Output),通用輸入輸出,是 MCU 上最常見的引腳類型。GPIO 的核心功能就是讀取或者輸出數(shù)字信號:高電平或者低電平。


輸入模式:GPIO 可以用來讀取開關(guān)狀態(tài)、傳感器輸出或其他數(shù)字信號。


輸出模式:GPIO 可以控制 LED 燈的亮滅、繼電器開關(guān),甚至驅(qū)動一些簡單的外設(shè)。


GPIO 的特點是簡單直接,只處理“開或關(guān)”兩種狀態(tài)。要注意的是,GPIO 并不適合直接輸出模擬信號,也無法實現(xiàn)平滑的亮度或速度控制。


PWM

數(shù)字信號模擬模擬量


PWM(Pulse Width Modulation,脈寬調(diào)制)是一種利用數(shù)字信號模擬連續(xù)輸出的方法。簡單來說,它通過快速切換高低電平,調(diào)整高電平在整個周期中的占比,從而控制輸出平均電壓。


占空比:PWM 的核心概念是占空比(Duty Cycle),即高電平持續(xù)時間占整個周期的比例。占空比越大,輸出平均電壓越高。


應(yīng)用場景:控制電機轉(zhuǎn)速、LED 亮度調(diào)節(jié)、舵機位置控制等。


舉例來說,你想讓 LED 燈亮一半亮度,用 GPIO 是不可能的,但用 PWM 就可以通過調(diào)整占空比,實現(xiàn)亮度漸變。

ADC

把模擬信號變成數(shù)字信號


ADC(Analog-to-Digital Converter,模數(shù)轉(zhuǎn)換器)**是 MCU 用來讀取模擬信號的接口。很多傳感器輸出的不是簡單的高低電平,而是連續(xù)變化的電壓,例如溫度、光照、聲音等。


原理:ADC 會把模擬電壓轉(zhuǎn)換成 MCU 可以處理的數(shù)字值。比如,輸入 03.3V 的電壓,經(jīng)過 12 位 ADC 轉(zhuǎn)換,可能得到 04095 的數(shù)字。


應(yīng)用場景:讀取溫度傳感器、光敏電阻壓力傳感器等模擬信號。


ADC 的特點是只能讀取模擬信號,輸出的是數(shù)字值,便于程序處理。



04

GPIO、PWM、ADC 的區(qū)別與聯(lián)系

信號類型

GPIO:數(shù)字信號,高/低電平。

PWM:數(shù)字信號模擬模擬量,通過占空比控制平均電壓。

DC:輸入模擬信號,轉(zhuǎn)換成數(shù)字數(shù)據(jù)。


應(yīng)用目的

GPIO:簡單控制或讀取開關(guān)狀態(tài)。

PWM:控制模擬效果,例如亮度、速度。

ADC:采集外部傳感器的連續(xù)信號,用于計算或決策。


控制方向

GPIO 和 PWM:通常是 MCU 向外控制。

ADC:通常是 MCU 從外部采集數(shù)據(jù)。



05

開發(fā)者常見誤區(qū)


GPIO 可以模擬亮度?

很多人一開始會嘗試用 GPIO 控制 LED 亮度,但 GPIO 只有高低兩種狀態(tài),想要亮度漸變,必須用 PWM。


PWM 是模擬接口?

雖然 PWM 可以模擬輸出模擬電壓,但本質(zhì)上還是數(shù)字信號,只是利用占空比讓輸出平均值變化。


ADC 直接控制設(shè)備?

ADC 只能讀取信號,不能直接控制外設(shè)。要控制設(shè)備,需要通過程序處理 ADC 值,再用 GPIO 或 PWM 輸出。


06

實踐中的選擇指南


控制開關(guān)或簡單狀態(tài):GPIO 足夠。

調(diào)節(jié)亮度或速度:PWM 最合適。

讀取傳感器信號:ADC 必不可少。


此外,很多嵌入式 MCU 都支持 GPIO 與 PWM、ADC 復(fù)用,一條引腳可能同時支持多種功能。在配置前,一定要查手冊,明確引腳功能和寄存器設(shè)置。理解 GPIO、PWM、ADC 的區(qū)別和聯(lián)系,是嵌入式開發(fā)的入門基礎(chǔ)。


掌握它們,你就能更準確地控制外設(shè)和采集數(shù)據(jù),為后續(xù)開發(fā)打下堅實基礎(chǔ)。無論是控制 LED 燈、驅(qū)動舵機,還是讀取傳感器數(shù)據(jù),選擇合適的接口都能讓你的程序更簡潔、可靠。

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

    關(guān)注

    116

    文章

    5872

    瀏覽量

    225619
  • adc
    adc
    +關(guān)注

    關(guān)注

    100

    文章

    7511

    瀏覽量

    555949
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1328

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    請問如何區(qū)分觸發(fā)STM32外部中斷的GPIO引腳?

    如何區(qū)分觸發(fā)STM32 外部中斷的GPIO引腳?
    發(fā)表于 04-01 07:07

    ADC配置為什么不要像PWM模塊設(shè)置一樣,還要指定那個pwm模塊的那一路pwm信號呢?

    在配置ADC采樣時,設(shè)置相應(yīng)的GPIOADC采樣 GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_1|
    發(fā)表于 08-27 09:51

    TWEN-ASR ONE 語音識別系列教程(2)— GPIOADC、PWM的使用

    TWEN-ASR ONE 語音識別系列教程(2)— GPIO、ADCPWM的使用提示:作者使用 TWEN-ASR ONE V1.0開發(fā)板進行開發(fā)學(xué)習(xí)。文章目錄前言一、TWEN-ASR ONE
    發(fā)表于 06-18 19:47

    PWM到底是什么?怎樣去使用呢

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔文章目錄前言一、PWM到底是什么二、使用步驟1.引入庫2.讀入數(shù)據(jù)總結(jié)前言此篇文章以一個通俗的方式帶你了解PWM信號,寫得非常詳細
    發(fā)表于 01-13 08:22

    使用ADC來改變定時器1PWM的占空比

    1. 簡介使用定時器1 在PB3引腳上輸出頻率100K的PWM波,然后使用ADC0 的通道1采集輸入的電壓型號來改變定時器1PWM的占空比。2. 時鐘分析Cortex-M4時鐘最高200MAPB2
    發(fā)表于 12-14 16:26

    ESP32-Wroom上到底有多少個ADC使能引腳?

    谷歌搜索“Esp32 ADC 引腳數(shù)”會得到“ESP32 有 18 個 ADC 通道”。然而,數(shù)據(jù)表和引腳圖表明只有 16 個可用,GPIO9 保留用于 WIFI 使用。ESP32-Wroom 上
    發(fā)表于 04-12 08:20

    Nano100B如何初始化GPIO/Timer/ADC/PWM和SPI

    : NuTiny-EVB-Nano130-LQFP128 v1.0 此示例代碼將演示如何初始化 GPIO、 Timer、 ADCPWM 和 SPI 。 當系統(tǒng)停電時, 它會因 Timer 中斷而醒來 。 您可以在下列時間下
    發(fā)表于 08-23 06:57

    如何使用PWM觸發(fā)ADCPWM剎車功能來阻止PWM輸出

    應(yīng)用程序:本文件描述如何使用 PWM 觸發(fā) ADCPWM 剎車功能來阻止 PWM 輸出 。 BSP 版本:Mini51DE系列 BSP CMISIS V3.02.000 硬件
    發(fā)表于 08-23 07:31

    Nano130如何初始化GPIO、Timer、ADC、PWM和SPI

    : NuTiny-EVB-Nano130-LQFP128 v1.0 此示例代碼將演示如何初始化 GPIO、 Timer、 ADC、 PWM 和 SPI 。 當系統(tǒng)停電時, 它會因 Timer 中斷而醒來 。 您可以在下列時間下
    發(fā)表于 08-30 06:21

    ADC0808控制PWM輸出程序

    ADC0808如何控制PWM輸出呢?ADC0808控制PWM輸出的程序,一起來了解一下。
    發(fā)表于 11-22 09:33 ?8798次閱讀

    MPPT充電與PWM充電效率到底怎么樣

    本文檔的主要內(nèi)容詳細介紹的是MPPT充電與PWM充電效率到底怎么樣。
    發(fā)表于 01-14 16:16 ?100次下載
    MPPT充電與<b class='flag-5'>PWM</b>充電效率<b class='flag-5'>到底</b>怎么樣

    PWM硬件間隔觸發(fā)ADC

    PWM硬件間隔觸發(fā)ADC(新型電源技術(shù)課程答案)-在各種應(yīng)用場景中,比如電機,電源,變頻器等應(yīng)用中,ADC的采樣點會有很嚴格的要求,如果采樣點選擇錯誤,會給整個控制系統(tǒng)造成嚴重后果,本文針對STM32Fxxx的
    發(fā)表于 08-04 18:00 ?59次下載
    <b class='flag-5'>PWM</b>硬件間隔觸發(fā)<b class='flag-5'>ADC</b>

    Part13--怎么區(qū)分I/O與GPIO

    對于剛進入嵌入式學(xué)習(xí)的小伙伴,是不是總會遇到 I/O和GPIO的說法,兩個到底都是什么呢?這里為你揭開I/O和GPIO的神秘面紗,快來學(xué)習(xí)一波。一句話總結(jié), I/O是泛指所有類型的輸入輸出端口,包括單向的端口如邏輯門電路的輸入輸
    發(fā)表于 11-26 15:51 ?17次下載
    Part13--怎么<b class='flag-5'>區(qū)分</b>I/O與<b class='flag-5'>GPIO</b>

    定時器,pwm,gpio

    _Init(u16 arr,u16 psc);pwm部分初始化中的arr和psc2.ARR和PSC如何取值3.ARR,PSC的影響4.輸出比較模式5.指定輸出極性6.輸出比較狀態(tài)三、GPIO的輸入輸出總結(jié) 在上一周做小車時,我采用了STM32F103C8
    發(fā)表于 12-31 18:58 ?1次下載
    定時器,<b class='flag-5'>pwm</b>,<b class='flag-5'>gpio</b>

    共射極、共基極、共集電極電路到底怎么區(qū)分

      我們經(jīng)常見到術(shù)語:共射極、共基極、共集電極電路,到底怎么區(qū)分呢?
    的頭像 發(fā)表于 03-17 15:00 ?2.8w次閱讀
    共射極、共基極、共集電極電路<b class='flag-5'>到底</b>怎么<b class='flag-5'>區(qū)分</b>