一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

什么是I2C通信協(xié)議?

電子設(shè)計(jì) ? 來(lái)源:電路城 ? 作者:電路城 ? 2021-04-26 15:08 ? 次閱讀

在本教程中,我們將學(xué)習(xí)如何在Raspberry Pi Pico中使用I2C引腳并遍歷I2C掃描器代碼。

硬件部件:

Raspberry Pi Pico板× 1個(gè)

目錄

1.概述

2.什么是I2C通信協(xié)議

3. Raspberry Pi Pico中的I2C引腳

4.如何將Raspberry Pi Pico的I2C引腳與I2C傳感器或模塊一起使用?

5. Raspberry Pi Pico I2C掃描器代碼

概述

在本教程中,我們將學(xué)習(xí)如何在Raspberry Pi Pico中使用I2C引腳并遍歷I2C掃描器代碼。Raspberry Pi Pico使用RP2040微控制器構(gòu)建。該開發(fā)板共有36個(gè)GPIO引腳中的26個(gè)多功能GPIO引腳。在10 GPIO引腳不暴露的,因此它們不能被使用。在26個(gè)可用的GPIO引腳中,有2對(duì)I2C引腳將在本文中討論。

我們將看到什么是I2C通信協(xié)議以及它如何工作。我們還將詳細(xì)了解Raspberry Pi Pico的I2C引腳。我們將采取I2C掃描代碼作為例子,并檢查了幾個(gè)I2C的I2C地址如何啟用的傳感器和模塊。在此之前,您可以查看我們的Raspberry Pi Pico入門教程,以了解有關(guān)該模塊的更多信息。

什么是I2C通信協(xié)議

I2C(集成電路間)是一種同步,多主機(jī),多從機(jī),分組交換,單端,串行通信總線。它廣泛用于在板內(nèi)短距離通信中將低速外圍IC連接到處理器和微控制器。

UART通信一樣,I2C僅使用兩條線在設(shè)備之間傳輸數(shù)據(jù)。

什么是I2C通信協(xié)議?

這兩根線分別稱為串行時(shí)鐘線(SCL)和串行數(shù)據(jù)線(SDA)。要傳輸?shù)臄?shù)據(jù)通過(guò)SDA線發(fā)送,并與SCL的時(shí)鐘信號(hào)同步。I2C網(wǎng)絡(luò)上的所有設(shè)備/ IC均連接到相同的SCL和SDA線,如上所示。

連接到I2C總線的設(shè)備是主機(jī)或從機(jī)。在任何時(shí)刻,只有一個(gè)主機(jī)在I2C總線上保持活動(dòng)狀態(tài)。它控制SCL時(shí)鐘線并決定要在SDA數(shù)據(jù)線上執(zhí)行的操作。

什么是I2C通信協(xié)議?

響應(yīng)此主設(shè)備指令的所有設(shè)備都是從設(shè)備。為了區(qū)分連接到同一I2C總線的多個(gè)從設(shè)備,每個(gè)從設(shè)備在物理上都分配有一個(gè)永久的7位地址。

什么是I2C通信協(xié)議?

當(dāng)主設(shè)備要與從設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí),它會(huì)在SDA線上指定此特定從設(shè)備地址,然后繼續(xù)進(jìn)行傳輸。因此,有效的通信發(fā)生在主設(shè)備和特定從設(shè)備之間。除非所有其他從屬設(shè)備的地址都由SDA線上的主設(shè)備指定,否則它們不會(huì)響應(yīng)。

Raspberry Pi Pico中的I2C引腳

什么是I2C通信協(xié)議?

控制器RP2040芯片具有兩個(gè)I2C控制器。您可以通過(guò)Raspberry Pi Pico的GPIO引腳訪問(wèn)兩個(gè)I2C控制器。下表顯示了GPIO引腳與兩個(gè)I2C控制器的連接。

什么是I2C通信協(xié)議?

控制器的每個(gè)連接都可以通過(guò)多個(gè)GPIO引腳進(jìn)行配置,如圖所示。但是在使用I2C控制器之前,您應(yīng)該在軟件中配置要與特定I2C控制器一起使用的GPIO引腳。

Raspberry Pi Pico I2C引腳的功能

Raspberry Pi Pico具有RP2040芯片,該芯片支持以下功能:1.設(shè)備可以在主模式或從模式下工作,默認(rèn)從地址為0x055

2. I2C引腳具有3種速度模式:標(biāo)準(zhǔn)(0至100 Kb / s ),快速(《= 400 Kb / s )和快速增強(qiáng)模式(《= 1000 Kb / s )

3.它既可以發(fā)送也可以接收緩沖區(qū)

4.也可用于中斷和DMA模式

如何將Raspberry Pi Pico的I2C引腳與I2C傳感器或模塊一起使用?

現(xiàn)在讓我們學(xué)習(xí)如何將Raspberry Pi Pico的I2C引腳與任何其他基于I2C的傳感器或模塊一起使用。在這種情況下,我們可以將Raspberry Pi Pico用作Mater Device ,將其他外部傳感器或模塊用作Slave Device 。

這是我們將3種不同的I2C器件連接到Pico板上的電路。這3種器件是BME680傳感器,MPU6050傳感器和0.96英寸OLED顯示器。

什么是I2C通信協(xié)議?

在此示例中,我們將MPU6050 ,BME680和OLED Display的SDA和SCL引腳連接到Raspberry Pi Pico的公共I2C線。由于有多個(gè)I2C引腳,我們將僅使用Raspberry Pi Pico的一對(duì)I2C引腳。我們將使用GPIO8作為SDA0和GPIO9作為SCL0 。

什么是I2C通信協(xié)議?

Raspberry Pi Pico I2C掃描器代碼

現(xiàn)在,讓我們看看Raspberry Pi Pico I2C掃描器代碼。該代碼是用MicroPython編寫的。您可以使用Thonny IDE或uPyCraft IDE將Raspberry Pi Pico連接到計(jì)算機(jī)。

以下代碼將掃描連接到Raspberry Pi Pico的I2C引腳的所有傳感器的I2C地址。復(fù)制代碼,然后下載并運(yùn)行。

import machine

sda=machine.Pin(8)

scl=machine.Pin(9)

i2c=machine.I2C(0,sda=sda, scl=scl, freq=400000)

print(‘Scan i2c bus.。.’)

devices = i2c.scan()

if len(devices) == 0:

print(“No i2c device !”)

else:

print(‘i2c devices found:’,len(devices))

for device in devices:

print(“Decimal address: ”,device,“ | Hexa address: ”,hex(device))

運(yùn)行代碼后,Micropython將嘗試掃描連接到Pico Board的I2C設(shè)備。您最多可以連接127個(gè)I2C從設(shè)備。設(shè)備將掃描該地址并將其顯示在Shell窗口中。

什么是I2C通信協(xié)議?

? 所述I2C地址的OLED顯示器是60 ,其以十六進(jìn)制為0x3C 2。

? 所述I2C地址的MPU6050是104 ,其以十六進(jìn)制0x68 3。

? 該I2C地址的BME680是119 ,其十六進(jìn)制是0x77。
責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7844

    瀏覽量

    153348
  • 傳感器
    +關(guān)注

    關(guān)注

    2561

    文章

    52198

    瀏覽量

    761708
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    975

    瀏覽量

    40854
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SPI、UART、I2C通信協(xié)議的區(qū)別

    電子設(shè)備之間的通信就像人類之間的交流,雙方都需要說(shuō)相同的語(yǔ)言。在電子產(chǎn)品中,這些語(yǔ)言稱為通信協(xié)議。
    發(fā)表于 07-19 17:24 ?2082次閱讀

    SPI、UART、I2C通信協(xié)議的區(qū)別

    電子設(shè)備之間的通信就像人類之間的交流,雙方都需要說(shuō)相同的語(yǔ)言。在電子產(chǎn)品中,這些語(yǔ)言稱為通信協(xié)議。
    發(fā)表于 08-17 10:21 ?1035次閱讀
    SPI、UART、<b class='flag-5'>I2C</b><b class='flag-5'>通信協(xié)議</b>的區(qū)別

    如何使用Dave 3.1.10在XMC4400微控制器上實(shí)現(xiàn)I2c通信協(xié)議 軟件?

    我一直在嘗試使用 Dave 3.1.10 與 XMC4400 執(zhí)行 I2c 通信協(xié)議,以實(shí)現(xiàn)傳感器接口。 軟件但我做不到。 Dave 3.1.10 的語(yǔ)法有所不同。 我無(wú)法使用 Dave
    發(fā)表于 06-03 07:21

    I2C通信協(xié)議手冊(cè)找不到廣為流傳的內(nèi)容

    在學(xué)習(xí)I2C通信協(xié)議的時(shí)候,翻了一遍I2C協(xié)議手冊(cè),卻找不到:“在進(jìn)行I2C通信發(fā)送數(shù)據(jù)的時(shí)候,
    發(fā)表于 04-05 00:27

    i2c通信協(xié)議

    1.1 i2c通信協(xié)議通信協(xié)議:用來(lái)實(shí)現(xiàn)數(shù)據(jù)傳輸。i2c物理總線:SCL(時(shí)鐘線) SDA(數(shù)據(jù)線)i2c
    發(fā)表于 03-06 16:15

    I2C通信協(xié)議硬軟件

    目錄12C通信協(xié)議硬軟件I2CAHT20測(cè)溫濕度參考12C通信協(xié)議I2C
    發(fā)表于 08-23 07:42

    I2C通信協(xié)議簡(jiǎn)介

    一.I2C通信協(xié)議簡(jiǎn)介1.物理層I2C物理層有以下特點(diǎn):I2C是支持多設(shè)備的總線,支持多個(gè)通訊主機(jī)、多個(gè)通訊從機(jī)I2C使用兩條總線線路,SD
    發(fā)表于 01-13 07:20

    I2C通信協(xié)議的原理是什么

    I2C通信協(xié)議I2C通信原理I2C通信原理:I2C
    發(fā)表于 02-17 07:16

    我想知道我們可以在STM32F407中使用4x I2C通信協(xié)議嗎?

    我想知道我可以在STM32F407中使用4x I2C通信協(xié)議嗎?有哪位大神可以解答一下啊
    發(fā)表于 01-05 09:06

    實(shí)驗(yàn)八-I2C通信協(xié)議

    實(shí)驗(yàn)八-I2C通信協(xié)議,感興趣的可以瞧一瞧。
    發(fā)表于 09-22 16:42 ?2次下載

    I2C通信協(xié)議應(yīng)該如何學(xué)習(xí)

    我最近剛做完I2C通信協(xié)議的編寫與調(diào)試,下面介紹一下我從一開始理解夏老師的程序,修改程序,直到下板調(diào)試整個(gè)的學(xué)習(xí)過(guò)程,希望對(duì)大家學(xué)習(xí) I2C 有一定的幫助。一、 分析源代碼學(xué)習(xí) I2C
    發(fā)表于 04-28 08:00 ?22次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>通信協(xié)議</b>應(yīng)該如何學(xué)習(xí)

    MPU6050的I2C通信協(xié)議

    不同硬件有不同的I2C協(xié)議
    發(fā)表于 12-06 12:21 ?3次下載
    MPU6050的<b class='flag-5'>I2C</b><b class='flag-5'>通信協(xié)議</b>

    I2C通信協(xié)議及其工作原理

    "也許你聽說(shuō)過(guò)I2C,或者你也正在使用I2C,但你有沒(méi)有了解過(guò)什么是I2C?I2C是如何工作的?讓我們一起了解一下什么是I2C?以及它的工作
    的頭像 發(fā)表于 04-19 09:36 ?5533次閱讀

    SPI和I2C通信協(xié)議:應(yīng)用與區(qū)別

    本文深入解析了SPI和I2C這兩種通信協(xié)議的特點(diǎn)、工作原理和應(yīng)用場(chǎng)景。SPI適用于高速數(shù)據(jù)傳輸,常用于存儲(chǔ)器芯片和顯示器驅(qū)動(dòng)等領(lǐng)域;I2C適用于低速控制和傳感器數(shù)據(jù)傳輸,常用于溫度傳感器和ADC
    的頭像 發(fā)表于 04-22 16:45 ?2401次閱讀

    簡(jiǎn)單認(rèn)識(shí)I2C通信協(xié)議

    I2C(Inter-Integrated Circuit)通信協(xié)議是由飛利浦公司(現(xiàn)為恩智浦半導(dǎo)體)開發(fā)的一種簡(jiǎn)單、雙向二線制同步串行總線協(xié)議。自1982年發(fā)布以來(lái),I2C
    的頭像 發(fā)表于 07-25 18:06 ?2095次閱讀