串口轉(zhuǎn)并口 I2C、SPI總線和串口通信之間是什么關(guān)系?
I2C、SPI總線和串口通信之間是什么關(guān)系?I2C類似于主從模式下的SPI總線。I2C和SPI總線上可以有多個從設(shè)備,但只有一個主設(shè)備。串行通信是一種全雙工通信,具有RS232、RS422和RS485
I2C、SPI總線和串口通信之間是什么關(guān)系?
I2C類似于主從模式下的SPI總線。I2C和SPI總線上可以有多個從設(shè)備,但只有一個主設(shè)備。串行通信是一種全雙工通信,具有RS232、RS422和RS485三種電氣特性。其中,RS232是點(diǎn)對點(diǎn)通信,兩個通信終端之間的收發(fā)器是獨(dú)立的;RS422可以實(shí)現(xiàn)一次發(fā)送和多次接收;RS485是半雙工工作模式,但可以實(shí)現(xiàn)多次發(fā)送和多次接收,即掛在總線上的設(shè)備可以發(fā)送和接收??傊琁2C、SPI總線和串口最大的區(qū)別在于串口通信可以相互發(fā)送和接收,而I2C、SPI總線只能有一個主設(shè)備,其他都是從設(shè)備。無論是讀還是寫,它們都由主設(shè)備啟動。
如何用stm32庫函數(shù)編一個i2c串口程序?
I2C總線由NXP(原飛利浦)公司設(shè)計(jì)。它有一個非常簡單的物理層定義。其特點(diǎn)如下:
只需要兩條總線:一條串行數(shù)據(jù)線SDA和一條串行時鐘線SCL;
每個連接到總線的設(shè)備都可以通過一個唯一的地址和一個簡單的主機(jī)/從機(jī)關(guān)系軟件來設(shè)置其地址,主機(jī)可以充當(dāng)主機(jī)發(fā)送器或主機(jī)接收器;
這是一個真正的多主機(jī)總線。如果兩臺或兩臺以上主機(jī)同時初始化,數(shù)據(jù)傳輸可以通過沖突檢測和仲裁防止數(shù)據(jù)被破壞;
串行8位雙向數(shù)據(jù)傳輸速率在標(biāo)準(zhǔn)模式下可以達(dá)到100kbit/s,在快速模式下可以達(dá)到400kbit/s,在高速模式下可以達(dá)到3.4mbit/s;
連接到同一總線的IC數(shù)量僅受總線最大電容400pF的限制。
I2C、SPI總線和串口通信之間是什么關(guān)系?
UART用于連接主機(jī)的接口外設(shè)(如計(jì)算機(jī))。I2C是飛利浦公司提出的用于芯片間通信的芯片。SPI最早由Motorola提出用于芯片間通信。與I2C不同的是,它需要四線傳輸,而I2C需要兩線傳輸,所以速度比I2C快,起初沒有統(tǒng)一的串行接口標(biāo)準(zhǔn),由各個公司在各自領(lǐng)域提出,最終成為一個通用標(biāo)準(zhǔn)。