chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

UART、SPI、I2C 實戰(zhàn)對比:哪個更適合你的項目?

信盈達 ? 2025-11-24 19:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開發(fā)中,設備之間的通信是繞不開的話題。常見的三種總線接口——UART、SPI、I2C—— 各有優(yōu)缺點。不同項目需求決定了選擇哪一種協議最合適。本文結合實戰(zhàn)經驗,逐項對比三者,并附帶實戰(zhàn)代碼,幫助你快速做出判斷。

一、UART(通用異步收發(fā)器

工作方式:點對點通信,使用 TX/RX 兩根數據線(加上 GND)。

優(yōu)點

  • 實現簡單,硬件資源少
  • 常用于調試、日志打印、模塊通信(如 GPS、藍牙模塊)
  • 波特率可調,支持從幾百 bps 到幾 Mbps

缺點

  • 只能點對點,無法掛多個設備
  • 沒有統(tǒng)一的時鐘,容易受波特率誤差影響

常見應用場景

  • 串口調試
  • 與 GSM、WiFi、GPS 模塊通信
  • 簡單傳感器數據讀取

UART 實戰(zhàn)代碼示例(STM32 HAL)

  1. // 初始化 UART,波特率 115200
  2. HAL_UART_Init(&huart1);
  3. // 發(fā)送字符串
  4. charmsg[]="Hello UART!\r\n";
  5. HAL_UART_Transmit(&huart1,(uint8_t*)msg,strlen(msg),HAL_MAX_DELAY);
  6. // 接收數據(阻塞模式)
  7. uint8_trx;
  8. HAL_UART_Receive(&huart1,&rx,1,1000);

二、SPI(串行外設接口

工作方式:主從模式,通常需要 4 根線(MOSI、MISO、SCLK、CS),多從機時可增加片選線。

優(yōu)點

  • 全雙工,速度快,常見速率可達 10 Mbps 以上
  • 協議簡單,延遲低
  • 可連接多個從設備(通過片選信號

缺點

  • 需要的 IO 口較多
  • 多從機設計時,布線復雜
  • 沒有標準化的幀結構,需要自定義協議

常見應用場景

  • 連接 Flash、SD
  • LCD 顯示屏驅動
  • 高速傳感器數據采集

SPI 實戰(zhàn)代碼示例(讀取 Flash ID)

  1. uint8_ttx=0x9F;// Flash 讀 ID 指令
  2. uint8_trx[3];// 接收 ID 數據
  3. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);// CS 低電平
  4. HAL_SPI_Transmit(&hspi1,&tx,1,HAL_MAX_DELAY);
  5. HAL_SPI_Receive(&hspi1,rx,3,HAL_MAX_DELAY);
  6. HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);// CS 高電平

三、I2C(內部集成電路總線)

工作方式:主從架構,僅用兩根線(SCL、SDA)即可掛載多個設備。

優(yōu)點

  • 協議標準化,設備尋址簡單(7 位或 10 位地址)
  • 占用引腳少,便于 PCB 設計
  • 硬件生態(tài)豐富,幾乎所有傳感器都支持

缺點

  • 通信速率有限(標準模式 100 kbps,高速模式 3.4 Mbps)
  • 總線電容和上拉電阻影響信號質量
  • 仲裁和時鐘同步機制使得實現稍復雜

常見應用場景

I2C 實戰(zhàn)代碼示例(讀取寄存器)

  1. uint8_treg=0x0F;// WHO_AM_I 寄存器
  2. uint8_tval;
  3. // 寫寄存器地址
  4. HAL_I2C_Master_Transmit(&hi2c1,DEVICE_ADDR<<1,®,1,HAL_MAX_DELAY);
  5. // 讀寄存器數據
  6. HAL_I2C_Master_Receive(&hi2c1,DEVICE_ADDR<<1,&val,1,HAL_MAX_DELAY);

四、三者對比表

特性UARTSPII2C
引腳數2≥42
通信模式點對點主從,多從機主從,多從機
速率kbps~Mbps高速,常達數十 Mbps100 kbps~3.4 Mbps
復雜度簡單中等,需要協議約定較復雜,標準協議
常見應用調試、模塊通信Flash、顯示屏、ADC傳感器、配置類設備

五、如何選擇?

  • 調試/模塊通信:選 UART
  • 高速數據傳輸(屏幕、存儲器、ADC):選 SPI
  • 多傳感器、低速配置:選 I2C

經驗法則:

  • MCU 引腳緊張 →I2C
  • 對速率要求高 →SPI
  • 僅單模塊通信 →UART

總結

UART、SPI、I2C 沒有絕對的好壞,只有是否適合你的項目:

  • UART:簡單直接,適合點對點通信
  • SPI:高速穩(wěn)定,但占用引腳較多
  • I2C:節(jié)省資源,適合掛載多個外設

掌握三者的差異與使用場景,就能在設計系統(tǒng)時更加靈活,避免返工,提高效率。

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

    關注

    17

    文章

    1868

    瀏覽量

    99955
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1547

    瀏覽量

    130541
  • uart
    +關注

    關注

    22

    文章

    1304

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SPI,UART,I2C區(qū)別與特點

    本內容詳細介紹了SPI,UART,I2C區(qū)別與特點,SPI:高速同步串行口。3~4線接口,收發(fā)獨立、可同步進行,UART:通用異步串行口。按
    發(fā)表于 02-02 16:15 ?6892次閱讀

    MAX3107 SPI/I2C UART,提供128字FIF

    MAX3107 SPI/I2C UART,提供128字FIFO和內部振蕩器 概述 The MAX3107 is an advanced universal asynchronous receiver-transmitter
    發(fā)表于 01-15 15:16 ?2187次閱讀
    MAX3107 <b class='flag-5'>SPI</b>/<b class='flag-5'>I2C</b> <b class='flag-5'>UART</b>,提供128字FIF

    SPI、I2C、UART串行總線協議

    串口通訊通信協議UART,以及常用外設通信協議 SPI、I2C的介紹與他們之間的區(qū)別
    發(fā)表于 11-30 11:28 ?96次下載

    SPI總線及I2C總線工作原理

    SPI總線及I2C總線工作原理,本內容詳細介紹了SPI總線和I2C總線的工作原理和比較
    發(fā)表于 12-08 16:55 ?0次下載

    SPI、SCI、I2C、UART之間的異同

    詳細介紹了SPI、SCI、I2CUART幾種通信方式的異同便于讀者整體了解通信的意義.
    發(fā)表于 12-15 14:32 ?0次下載

    SPI、I2CUART三種串行總線協議的區(qū)別

    SPI、I2C、UART三種串行總線協議的區(qū)別
    發(fā)表于 07-17 17:23 ?0次下載

    spii2c總線協議的對比分析

    通信協議非常適合近距離低速芯片間通信。Philips(for I2C)和Motorola(for SPI) 出于不同背景和市場需求制定了這兩種標準通信協議。
    發(fā)表于 12-06 11:57 ?3393次閱讀

    多功能USB轉i2c/spi/uart適配器用戶手冊

    多功能USB轉i2c/spi/uart適配器用戶手冊
    發(fā)表于 01-22 14:28 ?11次下載

    UARTSPII2C接口的詳解解釋資料說明

    做單片機開發(fā)時UART,SPII2C都是我們最經常使用到的硬件接口,我收集了相關的具體材料對這三種接口進行了詳細的解釋。
    發(fā)表于 05-15 18:09 ?7次下載
    <b class='flag-5'>UART</b>和<b class='flag-5'>SPI</b>及<b class='flag-5'>I2C</b>接口的詳解解釋資料說明

    一文搞懂UART、I2C、SPI協議

    UARTI2CSPI都是常見的低速板級通信協議,目前主流的SoC都內置了這些通訊協議的控制器,同樣,各種傳感器、Touch控制器、指紋模塊、藍牙模塊、WIFI模塊也都兼容這三種通信方式的一種或幾種。
    的頭像 發(fā)表于 03-26 09:29 ?3196次閱讀

    I2CSPI的區(qū)別是什么 速率對比

    I2CSPI 對比 ? 功能 I2C SPI 線數 2(SDA,SCL) 4(MOSI,M
    的頭像 發(fā)表于 07-27 10:55 ?5533次閱讀

    I2CSPIUART:如何布局這些通用總線

    如果您要為項目構建開發(fā)板或使用通用MCU,則會發(fā)現許多用于通信其他活動組件的協議。USB和以太網之類的標準已內置在大多數控制器中,用于與計算機外圍設備一起使用。盡管如此,仍使用I2CSPI
    的頭像 發(fā)表于 11-08 17:33 ?2626次閱讀
    <b class='flag-5'>I2C</b>與<b class='flag-5'>SPI</b>與<b class='flag-5'>UART</b>:如何布局這些通用總線

    UARTSPI、I2C比較 串口通信介紹

    UARTSPI、I2C比較 I2C線更少,比UART、SPI更為強大,但是技術上也更加麻煩些,
    的頭像 發(fā)表于 11-09 18:06 ?2523次閱讀
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口通信介紹

    藍牙串口通訊總線——I2C/SPI/UART

    嵌入式工程師在做串口通信調試工作的時候,會經常用到I2C、SPI、UART這3條總線,I2CSPI、U
    的頭像 發(fā)表于 01-22 09:41 ?3100次閱讀
    藍牙串口通訊總線——<b class='flag-5'>I2C</b>/<b class='flag-5'>SPI</b>/<b class='flag-5'>UART</b>

    總結usart、uart、i2c、spi區(qū)別及相關知識

    USART、UART、I2CSPI是四種不同的串行通信協議,它們各自具有獨特的特點和應用領域
    的頭像 發(fā)表于 04-10 09:47 ?3140次閱讀
    總結usart、<b class='flag-5'>uart</b>、<b class='flag-5'>i2c</b>、<b class='flag-5'>spi</b>區(qū)別及相關知識