在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

關于I2C協議介紹

CHANBAEK ? 來源:魚香ROS ? 作者:小魚 ? 2023-07-13 15:04 ? 次閱讀

你好,我是愛吃魚香ROS的小魚。本節主要介紹I2C協議,并將其主要特點拎出來和大家說說。

教程所使用硬件平臺為MicroROS學習板V1.0.0,可點擊閱讀原文購買及查看詳情

圖片

網上關于I2C協議介紹的有很多,但大都非常細致,將高低電平數據協議等等都介紹了,但新手學習時不用關注那么多底層的東西,比起了解通信原理,了解它是什么,怎么用對我們更加重要。

一、I2C是一種總線通訊協議

和之前我們介紹的串口通信類似,I2C也是一種通信協議。但它是一種總線通訊協議,也就是說,一個I2C可以連接多個設備,物理連接上像這樣。

圖片

那它串的設備數量有沒有上限呢?有的,上限是127個。

那為什么我們都是用18和19來驅動OLED和MPU6050呢?原因很簡單,他們都是連在同一跟線上。

上原理圖

圖片

ESP32這種引腳資源匱乏的單片機,引腳的復用就顯得很重要了,這里我們就將OLED和MPU6050都接在同一個I2C上,減少引腳占用。

二、I2C是一種兩線協議

在上幾節我們驅動OLED和IMU的時候,都導入了"Wire.h",這個就是Arudino提供的好的頭文件。我們使用的Wire的定義如下

TwoWire Wire = TwoWire(0);

TwoWire也就是兩線的意思,兩線也就是一個是SCL,一個是SDA

SCL即時鐘線,以一個固定的周期進行電平變換,SDA即數據線,用于數據的傳輸,這樣說有些抽象,小魚用邏輯分析儀 截取了一段OLED初始化時的SCl(GPIO18)和SDA(GPIO19)上的電平變化 ,并分析出其對應的數據。

圖片

再放大一些看

圖片

可以直觀的看到SCL在數據傳輸開始前一直保持高電平,SDA變成了低電平,這意為著數據傳輸的開始,也就是那個綠點的地方。

根據I2C協議規定:SCL處于高電平時,SDA由高到低變化,這種信號是起始信號。

繼續觀察,你會發現,在 傳輸過程中SCL引腳電平在以一個固定的周期來回跳變 ,從機這邊 當檢測到SCL電平跳變后就開始讀取SDA上的的電平,高記為1,低記為0 。所以你可以看到邏輯分析儀檢測到 八個上升箭頭,一共傳輸了八位數據,這八位數據用16進制表示就是0X3C 。

0X3C是什么,就是我們OLED的設備地址,所以這段信號的意思就是,我接下來要給0X3C的設備發數據了,請編號為0X3C的設備準備接收。

這個信號會被0X3C的設備接收和處理,而同一總線上ID非0X3C的接收到數據后就會將其扔掉,這就是I2C支持多個設備的核心原因。

在我們的開發板上,OLED的默認地址為:0X3C,IMU的默認地址為:0x68

附件:OLED初始化時I2C引腳數據圖

圖片

從該表可以看出,數據從905ms開始,到907ms完成了初始化數據的傳輸,下一節我們將按照這個數據傳輸內容編寫代碼,初始化OLED。

三、I2C是一種半雙工協議

上面我們仔細分析了I2C協議,SCL用于周期的變換,SDA用于傳輸數據,所以同一時間,SDA要么用于接收,要么用于發送。所以我們可以得到I2C是一種半雙工協議,同一時間只能進行接收或發送。

四、總結

本節小魚帶你從I2C協議信號入手,詳細介紹了I2C數據的特點,如果你手頭也有邏輯分析工具,也可以嘗試進行分析,開發板設計的也非常人性化,你可以這樣隨手拿幾個杜邦線就可以接入進行測量。

圖片

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

    關注

    10

    文章

    2894

    瀏覽量

    88225
  • 串口通信
    +關注

    關注

    34

    文章

    1627

    瀏覽量

    55610
  • 通訊協議
    +關注

    關注

    10

    文章

    278

    瀏覽量

    20386
  • I2C協議
    +關注

    關注

    0

    文章

    26

    瀏覽量

    8509
  • ROS
    ROS
    +關注

    關注

    1

    文章

    279

    瀏覽量

    17041
收藏 人收藏

    評論

    相關推薦

    I2C協議介紹

    文章目錄I2C 調查標準I2C協議介紹I2C時序介紹起始信號停止信號重啟信號總線閑信號總線忙信號
    發表于 01-20 08:04

    I2C總線協議及其應用(圖)

    I2C總線協議及其應用
    發表于 06-01 20:22 ?7034次閱讀

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協議中文版 
    發表于 11-05 09:26 ?2935次閱讀

    I2C總線協議及其應用

    I2C總線協議及其應用 一、I2C總線介紹: ---- 由于大規模集成電路技術的發展,在單個芯片集成CPU以及組成一個單獨工作系統
    發表于 02-08 11:23 ?1574次閱讀
    <b class='flag-5'>I2C</b>總線<b class='flag-5'>協議</b>及其應用

    I2C最新協議標準

    I2C最新協議標準,詳細介紹了IIC信號要求,供大家參考,
    發表于 12-22 17:59 ?13次下載

    I2C通信協議應該如何學習

    我最近剛做完I2C通信協議的編寫與調試,下面介紹一下我從一開始理解夏老師的程序,修改程序,直到下板調試整個的學習過程,希望對大家學習 I2C 有一定的幫助。一、 分析源代碼學習
    發表于 04-28 08:00 ?21次下載
    <b class='flag-5'>I2C</b>通信<b class='flag-5'>協議</b>應該如何學習

    STM32學習之I2C協議(讀寫EEPROM)

    關于STM32學習分享第七章 I2C協議(讀寫EEPROM)文章目錄關于STM32學習分享前言二、代碼1.i2c.c2.i2c.h3.main.c
    發表于 11-30 15:21 ?32次下載
    STM32學習之<b class='flag-5'>I2C</b><b class='flag-5'>協議</b>(讀寫EEPROM)

    MPU6050的I2C通信協議

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

    嵌入式內核及驅動開發-09IIC子系統框架使用(I2C協議和時序,I2C驅動框架,I2C從設備驅動開發,MPU6050硬件連接

    文章目錄I2c協議和時序I2c介紹I2c硬件連接I2c總線的信號
    發表于 12-06 14:06 ?17次下載
    嵌入式內核及驅動開發-09IIC子系統框架使用(<b class='flag-5'>I2C</b><b class='flag-5'>協議</b>和時序,<b class='flag-5'>I2C</b>驅動框架,<b class='flag-5'>I2C</b>從設備驅動開發,MPU6050硬件連接

    硬件I2C與模擬I2C

    配置;而軟件I2C是沒有寄存器這個概念的。 軟件I2C一般是使用GPIO管腳,用軟件控制SCL,SDA線輸出高低電平,模擬i2c協議的時序。例如下面這段
    發表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    一文看懂I2C協議

    電子行業最常用的3種串行通訊協議:UART、SPI和I2C。前面介紹了串口通訊協議及其FPGA實現,SPI協議。本篇文章
    發表于 01-25 18:32 ?40次下載
    一文看懂<b class='flag-5'>I2C</b><b class='flag-5'>協議</b>

    I2C通信協議:了解I2C Primer、 PMBus和SMBus

    I2C,即Inter-Integrated Circuit,是一種常用的串行通信協議,用于在器件之間——特別是兩個或兩個以上不同電路之間建立通信。I2C Primer是最常用的I2C
    的頭像 發表于 06-15 15:29 ?5894次閱讀
    <b class='flag-5'>I2C</b>通信<b class='flag-5'>協議</b>:了解<b class='flag-5'>I2C</b> Primer、 PMBus和SMBus

    使用I2C協議點亮OLED

    你好,我是愛吃魚香ROS的小魚。本節我們就嘗試直接使用I2C協議來點亮OLED,因為主要測試I2C協議,所以對于復雜的顯示處理部分小魚就略過了,畢竟有方便的開源庫使用,我們也不用那么糾
    的頭像 發表于 07-15 16:47 ?2020次閱讀
    使用<b class='flag-5'>I2C</b><b class='flag-5'>協議</b>點亮OLED

    I2C串行總線協議是什么?I2C總線有哪些優點?

    I2C串行總線協議是什么?I2C總線有哪些優點? I2C(Inter-Integrated Circuit)是一種串行總線協議,由Phili
    的頭像 發表于 09-12 11:18 ?1736次閱讀

    I2C協議的基礎知識

    本文從I2C協議的概述開始,描述協議的歷史、不同速度模式、物理層和數據幀結構,最后介紹I2C混合電壓系統中電平兼容性以及上拉電阻大小計算。
    的頭像 發表于 10-22 15:51 ?608次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>協議</b>的基礎知識
    主站蜘蛛池模板: 婷婷欧美| 欧美有码视频| 国产床戏无遮掩视频播放| 婷婷六月激情| 四虎永久在线精品网址| 日韩一级免费视频| 伊人精品网| 亚洲精品你懂的| 四虎影在线永久免费观看| 日本免费一级| 色偷偷资源网| 一级a毛片免费观看| 性a爱片免费视频性| 伊人久久综合成人网小说| 婷婷综合久久中文字幕蜜桃三| 色综合成人网| 毛片在线网| 美女视频黄.免费网址| 狠狠色综合网| 永久免费在线观看| 久久天天躁狠狠躁夜夜躁综合 | 亚洲一本视频| 一级做a爰片久久免费| 色偷偷偷偷| 狠狠色婷婷丁香综合久久韩国| 999伊人| 99国产精品农村一级毛片| 天天干天天操天天添| 天天草夜夜操| 2021最新国产成人精品视频| 一区二区三区四区在线不卡高清| 19xxxxxxxxx日本69| 99精品国产第一福利网站| 中文字幕123| 亚洲香蕉久久一区二区三区四区| 日韩精品午夜| 成年人www| 午夜96影视| 日本黄色网址大全| 啪啪免费网站| 亚洲人成综合网站在线|