IIC-BUS INTERFACE

来源:http://www.cnblogs.com/z3j6w9/archive/2017/07/27/7242913.html
-Advertisement-
Play Games

I2C匯流排是由Philips公司開發的一種簡單、雙向二線制同步串列匯流排。它只需要兩根線即可在連接於匯流排上的器件之間傳送信息。 To control multi-master IIC-bus operations, values must be written to the following reg ...


I2C匯流排是由Philips公司開發的一種簡單、雙向二線制同步串列匯流排。它只需要兩根線即可在連接於匯流排上的器件之間傳送信息。

To control multi-master IIC-bus operations, values must be written to the following registers:
— Multi-master IIC-bus control register, IICCON
— Multi-master IIC-bus control/status register, IICSTAT
— Multi-master IIC-bus Tx/Rx data shift register, IICDS
— Multi-master IIC-bus address register, IICADD

控制I2C匯流排,需要設置一下寄存器,IICCON  IICSTAT IICDS IICADD

When the IIC-bus is free, the SDA and SCL lines should be both at High level. A High-to-Low transition of SDA
can initiate a Start condition. A Low-to-High transition of SDA can initiate a Stop condition while SCL remains
steady at High Level.

匯流排空閑時,SDA和SCL為高電平。當SCL為高電平時,SDA由高到低表示START信號,SDA由低到高表示STOP信號,如下圖所示

When a master initiates a Start condition, it should send a slave address to notify the slave device. One byte of
address field consists of a 7-bit address and a 1-bit transfer direction indicator (showing write or read).
If bit 8 is 0, it indicates a write operation (transmit operation); if bit 8 is 1, it indicates a request for data read
(receive operation).

當匯流排發出一個START信號後,匯流排需要傳輸一個7bit的從機地址和一位的讀寫位。0表示write,1表示read

例如:從機地址為0x68,需要執行的操作是讀,那麼需要發送的SLAVE_ADDRESS  = (0x68 << 1) | 0x1;

Every byte placed on the SDA line should be eight bits in length. The bytes can be unlimitedly transmitted per
transfer. The first byte following a Start condition should have the address field. The address field can be
transmitted by the master when the IIC-bus is operating in Master mode. Each byte should be followed by an
acknowledgement (ACK) bit. The MSB bit of the serial data and addresses are always sent first.

i2c匯流排傳輸單位為byte,i2c每次傳輸完成後從設備都需要回覆一個ack信號,告知master設備數據已經接收完成,如下圖所示 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 恢復內容開始 (這是轉載別人的,因為我覺得很有用,每次都是參考這個的第二種方法解決的,不管你聽不聽得到,先說聲謝謝!也記下來方便大家看看) mysql解決遠程不能訪問的二種方法,需要的朋友可以參考一下: 1、在/etc/mysql/my.cnf中的[mysqld]段註釋掉bind-address = ...
  • SQL: select * from PT_ORG_INFO START WITH id='102' CONNECT BY PRIOR id=par_id 連表遞歸查詢SQL: select info.* from PT_CAMERA_INFO info join (select * from PT ...
  • 目前mongodb已經出到3.x,相對於2.x改動較大,本著學新不學舊的原則來搗鼓nosql資料庫。最初想著apt-get安裝但是軟體源上都是2.x的,遂下載好後傳到伺服器安裝。 1.下載 不得不說國內的牆太厲害,連mongodb這類人畜無害的都擋了,雖然能夠訪問官網也能下載,但是速度從來不超過三十 ...
  • 漏洞編號:CVE-2017-8464 漏洞等級:嚴重 漏洞概要:如果用戶打開攻擊者精心構造的惡意LNK文件,則會造成遠程代碼執行。成功利用此漏洞的攻擊者可以獲得與本地用戶相同的用戶許可權。 攻擊者可以通過可移動驅動器(U盤)或遠程共用等方式將包含惡意LNK文件和與之相關的惡意二進位文件傳播給用戶。當用 ...
  • 我們可以採用類似安全模式的方法修改初始密碼先執行命令 mysqld_safe --skip-grant-tables & (設置成安全模式)&,表示在後臺運行,不再後臺運行的話,就再打開一個終端咯。# mysqlmysql> use mysql;mysql> update user set auth ...
  • zabbix版本: 3.2.5 zabbix 自帶的windows模板中沒有監控cpu使用率的,可以在模板里自己添加 1. 配置 > 模板 > Template OS Windows 2. 監控項 > 添加監控項 應用集 : CPU 3. 圖形 > 添加圖形 取個名稱, 監控項選擇剛纔的新建的 4. ...
  • 紅帽安裝rpm安裝MySQL時爆出警告: 警告:MySQL-server-5.5.46-1.linux2.6.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY 原因:這是由於yum安裝了舊版本的GPG keys造成的 解決辦法:後面加 ...
  • 回到目錄 Swarm概念 Swarm是Docker公司推出的用來管理docker集群,它將一群Docker宿主機變成一個單一的,虛擬的主機。Swarm使用標準的Docker API介面作為其前端訪問入口,換言之,各種形式的Docker Client(docker client in Go, dock ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...