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

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

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

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

UART、SPI、I2C 實(shí)戰(zhàn)對(duì)比:哪個(gè)更適合你的項(xiàng)目?

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

掃碼添加小助手

加入工程師交流群

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

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

工作方式:點(diǎn)對(duì)點(diǎn)通信,使用 TX/RX 兩根數(shù)據(jù)線(加上 GND)。

優(yōu)點(diǎn)

  • 實(shí)現(xiàn)簡(jiǎn)單,硬件資源少
  • 常用于調(diào)試、日志打印、模塊通信(如 GPS、藍(lán)牙模塊)
  • 波特率可調(diào),支持從幾百 bps 到幾 Mbps

缺點(diǎn)

  • 只能點(diǎn)對(duì)點(diǎn),無(wú)法掛多個(gè)設(shè)備
  • 沒(méi)有統(tǒng)一的時(shí)鐘,容易受波特率誤差影響

常見(jiàn)應(yīng)用場(chǎng)景

  • 串口調(diào)試
  • 與 GSM、WiFi、GPS 模塊通信
  • 簡(jiǎn)單傳感器數(shù)據(jù)讀取

UART 實(shí)戰(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. // 接收數(shù)據(jù)(阻塞模式)
  7. uint8_trx;
  8. HAL_UART_Receive(&huart1,&rx,1,1000);

二、SPI(串行外設(shè)接口

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

優(yōu)點(diǎn)

  • 全雙工,速度快,常見(jiàn)速率可達(dá) 10 Mbps 以上
  • 協(xié)議簡(jiǎn)單,延遲低
  • 可連接多個(gè)從設(shè)備(通過(guò)片選信號(hào)

缺點(diǎn)

  • 需要的 IO 口較多
  • 多從機(jī)設(shè)計(jì)時(shí),布線復(fù)雜
  • 沒(méi)有標(biāo)準(zhǔn)化的幀結(jié)構(gòu),需要自定義協(xié)議

常見(jiàn)應(yīng)用場(chǎng)景

  • 連接 Flash、SD
  • LCD 顯示屏驅(qū)動(dòng)
  • 高速傳感器數(shù)據(jù)采集

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

  1. uint8_ttx=0x9F;// Flash 讀 ID 指令
  2. uint8_trx[3];// 接收 ID 數(shù)據(jù)
  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(內(nèi)部集成電路總線)

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

優(yōu)點(diǎn)

  • 協(xié)議標(biāo)準(zhǔn)化,設(shè)備尋址簡(jiǎn)單(7 位或 10 位地址)
  • 占用引腳少,便于 PCB 設(shè)計(jì)
  • 硬件生態(tài)豐富,幾乎所有傳感器都支持

缺點(diǎn)

  • 通信速率有限(標(biāo)準(zhǔn)模式 100 kbps,高速模式 3.4 Mbps)
  • 總線電容和上拉電阻影響信號(hào)質(zhì)量
  • 仲裁和時(shí)鐘同步機(jī)制使得實(shí)現(xiàn)稍復(fù)雜

常見(jiàn)應(yīng)用場(chǎng)景

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

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

四、三者對(duì)比表

特性UARTSPII2C
引腳數(shù)2≥42
通信模式點(diǎn)對(duì)點(diǎn)主從,多從機(jī)主從,多從機(jī)
速率kbps~Mbps高速,常達(dá)數(shù)十 Mbps100 kbps~3.4 Mbps
復(fù)雜度簡(jiǎn)單中等,需要協(xié)議約定較復(fù)雜,標(biāo)準(zhǔn)協(xié)議
常見(jiàn)應(yīng)用調(diào)試、模塊通信Flash、顯示屏、ADC傳感器、配置類設(shè)備

五、如何選擇?

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

經(jīng)驗(yàn)法則:

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

總結(jié)

UART、SPI、I2C 沒(méi)有絕對(duì)的好壞,只有是否適合你的項(xiàng)目:

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

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

聲明:本文內(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)投訴
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1863

    瀏覽量

    99662
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1547

    瀏覽量

    130414
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1304

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    MAX3107 SPI/I2C UART,提供128字FIF

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

    SPII2C、UART串行總線協(xié)議

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

    SPI總線及I2C總線工作原理

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

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

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

    SPI、I2C、UART三種串行總線協(xié)議的區(qū)別

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

    spii2c總線協(xié)議的對(duì)比分析

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

    多功能USB轉(zhuǎn)i2c/spi/uart適配器用戶手冊(cè)

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

    UARTSPII2C接口的詳解解釋資料說(shuō)明

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

    一文搞懂UART、I2C、SPI協(xié)議

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

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

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

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

    如果您要為項(xiàng)目構(gòu)建開(kāi)發(fā)板或使用通用MCU,則會(huì)發(fā)現(xiàn)許多用于通信其他活動(dòng)組件的協(xié)議。USB和以太網(wǎng)之類的標(biāo)準(zhǔn)已內(nèi)置在大多數(shù)控制器中,用于與計(jì)算機(jī)外圍設(shè)備一起使用。盡管如此,仍使用I2C,SPI
    的頭像 發(fā)表于 11-08 17:33 ?2560次閱讀
    <b class='flag-5'>I2C</b>與<b class='flag-5'>SPI</b>與<b class='flag-5'>UART</b>:如何布局這些通用總線

    UART、SPI、I2C比較 串口通信介紹

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

    藍(lán)牙串口通訊總線——I2C/SPI/UART

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

    總結(jié)usart、uart、i2c、spi區(qū)別及相關(guān)知識(shí)

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