国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

SPI、I2C、I2S、UART:通信協議解釋

倚欄清風L ? 來源:倚欄清風L ? 作者:倚欄清風L ? 2025-11-18 10:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開發中,最常用的幾種通信接口無非就是SPI、I2C、I2S、UART。名字看起來差不多,但應用場景和特性卻大不相同。為什么都叫串行通信,結構卻不一樣?為什么有的能傳音頻,有的不能?本文一次梳理清楚。

一、通信協議快速對照表

協議 全稱 線數 通信方式 速率 應用場景 特點
SPI Serial Peripheral Interface 4根常用線(MOSI, MISO, SCLK, CS) 全雙工、主從 高速(可達幾十 MHz) Flash、傳感器、顯示屏 硬件簡單、速率高,但線多,擴展性差
I2C Inter-Integrated Circuit 2根線(SDA, SCL) 半雙工、多主多從 100 kbps ~ 3.4 Mbps EEPROM、傳感器、RTC 線少,可掛多設備,但速率低,總線長時穩定性差
I2S Inter-IC Sound 3~4根線(SD, WS, SCK, MCLK 可選) 同步串行(專用于音頻) 常見 44.1kHz、48kHz(音頻采樣率) 音頻數據傳輸(DAC、Codec、耳機) 專為音頻設計,不能傳通用數據
UART Universal Asynchronous Receiver/Transmitter 2根線(TX, RX) 異步、點對點 常見 9600~115200 bps,可達 Mbps 調試串口、GPS、藍牙模塊 硬件簡單,廣泛使用,但速率低,不支持多機總線

二、協議特點解析與代碼示例

1.SPI

點對點的速度王者,主從明確。

常用于高速傳感器、Flash 存儲器、LCD 屏幕。

缺點:需要一根片選線控制每個從設備,多設備布線復雜。

示例:STM32SPI 主機發送數據:

uint8_ttxData=0xA5;

HAL_SPI_Transmit(&hspi1,&txData,1,HAL_MAX_DELAY);

從設備接收數據:

uint8_trxData;

HAL_SPI_Receive(&hspi2,&rxData,1,HAL_MAX_DELAY);

2.I2C

只需兩根線,就能掛多個設備,協議層自帶地址機制。

常用于低速傳感器、EEPROM、實時時鐘(RTC)。

缺點:速率不高,總線電容大時穩定性下降。

示例:STM32 I2C 讀取溫度傳感器數據:

uint8_treg=0x00;// 溫度寄存器地址

uint8_ttemp;

HAL_I2C_Master_Transmit(&hi2c1,SENSOR_ADDR,?,1,HAL_MAX_DELAY);

HAL_I2C_Master_Receive(&hi2c1,SENSOR_ADDR,&temp,1,HAL_MAX_DELAY);

3.I2S

名字很像 I2C,但完全不同,這是音頻傳輸專用協議。

常見于音頻 Codec、功放、耳機 DAC。

優點:數據幀結構天然適配音頻采樣率。

缺點:不能傳普通數據,只能用于音頻傳輸。

示例:STM32 I2S 發送音頻數據:

uint16_taudioData[256];

HAL_I2S_Transmit(&hi2s2,audioData,256,HAL_MAX_DELAY);

4.UART

最老牌串口,幾乎所有MCU都支持。

常見于調試口、藍牙模塊、GPS 模塊。

優點:實現簡單,應用廣泛。

缺點:不支持掛多設備,速率有限。

示例:STM32 UART 發送字符串:

charmsg[]="Hello UART!";

HAL_UART_Transmit(&huart1,(uint8_t*)msg,strlen(msg),HAL_MAX_DELAY);

接收數據:

uint8_trxBuffer[20];

HAL_UART_Receive(&huart1,rxBuffer,20,HAL_MAX_DELAY);

審核編輯 黃宇

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

    關注

    28

    文章

    1077

    瀏覽量

    41901
  • SPI
    SPI
    +關注

    關注

    17

    文章

    1868

    瀏覽量

    100006
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1547

    瀏覽量

    130580
  • uart
    +關注

    關注

    22

    文章

    1305

    瀏覽量

    106187
  • I2S
    I2S
    +關注

    關注

    1

    文章

    80

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    I2C的缺點介紹

    上升時間變慢和潛在的信號衰減。對于長距離通信,其他協議,如 UART(通用異步接收器/發送器)或 SPI(串行外設接口)可能更合適。 速度限制: 雖然
    發表于 11-27 06:10

    UARTSPII2C 實戰對比:哪個更適合你的項目?

    在嵌入式開發中,設備之間的通信是繞不開的話題。常見的三種總線接口——UARTSPII2C——各有優缺點。不同項目需求決定了選擇哪一種協議
    的頭像 發表于 11-24 19:04 ?458次閱讀
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b> 實戰對比:哪個更適合你的項目?

    SPII2CUART三種串行總線的區別與對比

    Asynchronous Receiver Transmitter:通用異步收發器) 2通信方式 SPIUART可以實現全雙工,但I2C
    發表于 11-20 07:19

    SPII2CI2SUART通信協議對比表

    在嵌入式開發中,最常用的幾種通信接口無非就是SPII2CI2SUART。名字看起來差不多,但應用場景和特性卻大不相同。很多初學者容易混
    的頭像 發表于 11-17 10:53 ?1271次閱讀
    <b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>、<b class='flag-5'>I2S</b>、<b class='flag-5'>UART</b>:<b class='flag-5'>通信協議</b>對比表

    深入剖析I2C協議

    I2C是由Philips開發的簡單的雙向兩線總線,在深入淺出理解SPI協議中,我們區分了單工,半雙工,全雙工協議數據流向的區別,根據特征,I2C
    的頭像 發表于 08-21 15:10 ?3374次閱讀
    深入剖析<b class='flag-5'>I2C</b><b class='flag-5'>協議</b>

    第十八章 I2C通信測試

    本章介紹了I2C協議,其物理層用SDA和SCL雙線,支持多設備:協議層含起始/停止信號、應答機制等。還講解W55MH32的I2C外設及初始化,并進行了
    的頭像 發表于 06-19 17:07 ?1089次閱讀
    第十八章 <b class='flag-5'>I2C</b><b class='flag-5'>通信</b>測試

    I2C總線通信原理 如何設計I2C總線電路

    I2C總線通信原理 I2C(Inter-Integrated Circuit)總線是一種用于集成電路之間進行通信的串行通信協議。它最早由飛利
    的頭像 發表于 01-31 15:01 ?1950次閱讀

    基于I2C總線的智能家居應用

    隨著科技的飛速發展,智能家居系統已經成為現代生活的一個重要組成部分。I2C(Inter-Integrated Circuit)總線是一種串行通信協議,廣泛應用于微控制器和各種傳感器之間,因其簡單
    的頭像 發表于 01-17 16:21 ?1036次閱讀

    I2C總線的優缺點分析

    I2C總線作為一種廣泛使用的串行通信協議,以其簡單性和高效性在嵌入式系統中占據著重要地位。 I2C總線的優點 1. 簡單性和低成本 I2C總線只需要兩條線(數據線SDA和時鐘線SCL)
    的頭像 發表于 01-17 15:50 ?1824次閱讀

    I2C總線數據包結構詳解

    I2C(Inter-Integrated Circuit)總線是一種用于連接微控制器和各種外圍設備的通信協議。它使用兩條線:串行數據線(SDA)和串行時鐘線(SCL),實現了設備之間的簡單、高效通信
    的頭像 發表于 01-17 15:46 ?1457次閱讀

    I2C總線的工作模式介紹

    在現代電子系統中,I2C總線作為一種多主機、多從機的串行通信協議,扮演著至關重要的角色。它允許多個設備共享同一總線,進行數據傳輸,從而簡化了系統設計并降低了成本。 I2C總線的基本特性 I2C
    的頭像 發表于 01-17 15:32 ?1693次閱讀

    I2C總線故障排除技巧

    I2C總線是一種廣泛使用的串行通信協議,它允許多個設備在兩條線上(數據線SDA和時鐘線SCL)進行通信。由于其簡單性和靈活性,I2C總線在嵌入式系統中非常流行。然而,當
    的頭像 發表于 01-17 15:20 ?3978次閱讀

    I2C總線與單片機的連接

    在現代電子系統中,單片機(MCU)是核心控制單元,而I2C總線作為一種多主機、多從機的串行通信協議,因其簡單、高效和節省引腳的特性而被廣泛應用于各種電子設備中。 I2C總線概述 I2C
    的頭像 發表于 01-17 15:18 ?2063次閱讀

    I2C總線設備地址設置方法

    I2C總線是一種廣泛使用的串行通信協議,它允許多個設備在兩條線上(數據線SDA和時鐘線SCL)進行通信。每個設備都有一個唯一的地址,以確保數據能夠正確地發送到目標設備。 I2C地址概述
    的頭像 發表于 01-17 15:17 ?7154次閱讀

    I2C總線與SPI總線的比較

    在現代電子系統中,微控制器與各種外設之間的通信是必不可少的。I2CSPI是兩種流行的串行通信協議,它們各自具有獨特的特點和應用場景。 I2C
    的頭像 發表于 01-17 15:08 ?1836次閱讀