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

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>i2c開源項目分享

i2c開源項目分享

2022-11-23 | zip | 0.61 MB | 次下載 | 免費

資料介紹

描述

i2c協議是什么?

I2C(Inter-Integrated Circuit),發音為 I-squared-C,是飛利浦半導體(現為 NXP 半導體)于 1982 年發明的同步、多主、多從、分組交換、單端、串行通信總線。它廣泛用于在短距離板內通信中將低速外圍 IC 連接到處理器微控制器或者,I2C 拼寫為 I2C(發音為 I-two-C)或 IIC(發音為 IIC)。

兩線協議由串行數據線(SDA)和串行時鐘線(SCL)組成。開始/停止條件分別確保數據傳輸的開始和結束。

i2c 數據框

poYBAGN7H_GAb8aDAAA_OFnWq9g560.png
數據框
?
  • 起始位:當 SCL 為高時,SDA 為 0 -> 1。
  • 停止位:當 SCL 為高時,SDA 為 1 -> 0。
  • 設備地址位(7-10 位):設備地址可以訪問所有唯一的從設備。一個 7 位設備地址可以訪問 2^7 個設備或 128 個設備,一個 ACK?? 位“0”從特定的從設備發送到主設備,以確認其存在于信號線中。
  • 讀/寫位:當主設備寫入從設備時,“0”被發送到從設備,反之亦然。
  • ACK/NACK 位:如果成功接收到地址幀或數據幀,則接收方向發送方發送一個位“0”。
  • 數據幀(8 位):i2c 協議的數據幀為 8 位長,在發送方收到接收方確認確認 ACK 位后發送。成功接收數據后,接收器再次發送 ACK 位為“0”。

i2c 速度模式

雙向總線:-

  • 標準模式 100 kbit/s
  • 快速模式 400 kbit/s
  • 快速模式 1 Mbit/s
  • 高速模式3.4 Mbit/s

單向總線:-

  • 超快速模式 5 Mbit/s

資料來源:NXP i2c 總線規范

主要優點和缺點:

優點:

  • 多從和多主協議。
  • 使用 ACK 位進行錯誤處理。
  • 時鐘延長為使用慢速 IC 提供了靈活性。

缺點:

  • 由于開銷,傳輸速度慢。
  • 半雙工。
  • 復雜性隨著主設備和從設備數量的增加而增加。
  • 數據幀的大小限制為 8 位。

i2c Wire.h 庫

Wire.h 庫在主設備和從設備之間建立 i2c 通信。

#include 

按照主從設備(微控制器)的引腳圖,定義 SDA 和 SCL 線。

#define SDA D1
#define SCL D2

主從地址保存在常量變量中。

const int16_t i2c_rpi=0x00; //master
const int16_t i2c_node=0x01; // slave 1
const int16_t i2c_ard=0x02; // slave 2
const int16_t i2c_disco=0x03; // slave 3
const int16_t i2c_esp32=0x04; // slave 4
const int16_t i2c_blue=0x05; // slave 5

在設置中,所有設備都與它們的特定 SDA、SCL 線和設備地址相連。

Wire.begin(SDA,SCL,i2c_address); /* slave or master address depending on the slave or the master device respectively */

對于 Slave 讀/寫,還設置了特定的請求函數。

Wire.onRequest(requestEvent); /* for slave write request */
Wire.onReceive(receiveEvent); /* for slave read request */

此后,主設備使用其唯一地址向其從設備發送請求或接收事件。

/*For read*/

Wire.requestFrom(i2c_slave_addr,data_size); /* slave address along with data bits requested. */
  while(Wire.available())
  {
    char c=Wire.read();
    Serial.println(c);
  }

/*For Write*/

Wire.beginTransmission(i2c_slave_addr);
Wire.write("xyz");
Wire.endTransmission();

為 i2c 配置 pi

要使用樹莓派實現 i2c 通信,smbus2 庫是建立主從連接的合適庫。

Few initial set up is required for the i2c interface in raspberry pi.

After logging in to the pi, enter this command and enable the i2c from the interface dropdown. reboot the pi.

sudo raspi-config

Install the smbus2 package and i2c tools.

sudo pip install smbus2
sudo apt-get install i2c-tools

To check the slave devices that have established the i2c interface.

sudo i2cdetect -y 1

Thesmbus2 library

from smbus2 import SMBus, i2c_msg

Read some data

with SMbus(1) as bus:
    msg=i2c_msg.read(i2c_slave_addr,data_size)
    bus.i2c_rdwr(msg)

Write some data

with SMbus(1) as bus:
    msg=i2c_msg.write(i2c_slave_addr,data)
    bus.i2c_rdwr(msg)

Interfacing with various micro-controllers

  • Raspberry Pi 3B Master
  • Node MCU Slave1
  • Arduino UNO Slave 2
  • Blue-Pill(STM32F103C8T6) Slave 3
  • DISCO-L475VG-IOT01A Slave 4
  • ESP-32 Slave 5
pYYBAGN7H_WAGCYUAACNhvDRFaE758.png
Device connections
?

?


評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 午夜免费伦费影视在线观看 | www.妖精视频| 天天视频在线观看免费 | 日本在线亚洲 | 免费人成年激情视频在线观看 | 天天干夜夜爽天天操夜夜爽视频 | 第四色激情网 | 日本xxxx色视频在线观看免费 | 色倩网站| www.色亚洲 | 二级黄色大片 | 色视频线观看在线播放 | 真人实干一级毛片aa免费 | 国产精品14p | 黄色免费网站在线播放 | 爱操综合网| 天天摸日日摸人人看 | 夜夜超b天天 | 天天搞天天爽 | 日本黄色大片免费看 | 日日夜夜爽 | 五月婷婷影视 | 午夜影视啪啪免费体验区入口 | 国产一区精品视频 | 亚洲国产日韩精品怡红院 | 夜夜gan| 国产在线精品一区二区夜色 | av网站免费线看 | 日韩欧免费一区二区三区 | 精品国产乱码一区二区三区 | 黄网在线看 | 一区二区美女视频 | 国产黄色小视频网站 | 国内一国产农村妇女一级毛片 | 717影院理伦午夜论八戒 | 久久久久久9 | 你懂的在线视频播放 | 综合色99| 久久国产精品99精品国产987 | 91视频三级 | 福利视频自拍偷拍 |