91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

軟件模擬i2c實現(xiàn)io腳時序電路的技巧

h1654155971.7688 ? 來源:互聯(lián)網 ? 作者:佚名 ? 2017-11-06 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、Bit Bang

關于 Bit Bang 的解釋:Use software to control serial communication at general-purpose I/O pins,簡單來講就是使用軟件通過 IO 腳去實現(xiàn) I2C 的時序從而使用 I2C 協(xié)議進行通信。

這樣做的好處是可以突破硬件上的限制,例如芯片不具有硬件 I2C 模塊,或者硬件 I2C 模塊損壞,又或者使用硬件 I2C 模塊時布線非常麻煩。壞處是需要寫代碼模擬時序,根據不同的硬件平臺和不同的時鐘頻率,代碼中的部分參數是不一樣的。

二、代碼分析

以下代碼基于 STM32 系列 MCU

使用軟件模擬 I2C 的步驟如下:

1、設置 GPIO 管腳

設置兩個管腳作為 SCL 和 SDA,例如 GPIOA1 和 GPIOA2

2、SCL時鐘周期

3、附加設置

這里主要是使用宏定義模擬函數

4、I2C 啟動

5、I2C停止

6、發(fā)送 8 位數據,返回值為從響應 ACK 標志

7、接收 8 位數據

三、操作實例

以下代碼為通過調用上面的基本代碼來實現(xiàn) I2C 通信

1、設置 DAC 寄存器的值

三個參數分比為從機地址,寄存器地址,8 位數據

2、讀取 DAC 寄存器的值

兩個參數分別為從機地址,寄存器地址,返回數據為 16 位。這是由于某些器件的硬件設計,采用 7 位表示寄存器地址,而每個寄存器包含 9 位數據。更常見的方式為 8 位寄存器地址,一個寄存器 8 位數據,這種方式的代碼僅返回 8 位數據,見代碼 2。

代碼 1,返回 16 位數據,不常見

代碼 2,返回 8 位數據

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

    關注

    0

    文章

    3

    瀏覽量

    6703

原文標題:學會這個技術,再也不怕芯片不具有硬件I2C模塊了!

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    GPIO模擬I2C總線的驅動設計與實現(xiàn)

    I2C總線簡單方便,是我們經常使用的一種總線。但有時候我們的MCU沒有足夠多的I2C控制器來實現(xiàn)我們的應用,所幸我可以使用普通的GPIO引腳來模擬低速的
    發(fā)表于 12-14 14:19 ?6442次閱讀
    GPIO<b class='flag-5'>模擬</b><b class='flag-5'>I2C</b>總線的驅動設計與<b class='flag-5'>實現(xiàn)</b>

    I2C讀寫時序分析和實現(xiàn)思路

    上篇推文對I2C總線的特性進行了介紹和描述。對于開發(fā)者而言,最重要的是編碼I2C的讀寫時序驅動。本篇推文主要總結和分享I2C總線主機端通信的編程實現(xiàn)
    發(fā)表于 10-01 16:54 ?4096次閱讀
    <b class='flag-5'>I2C</b>讀寫<b class='flag-5'>時序</b>分析和<b class='flag-5'>實現(xiàn)</b>思路

    利用IO模擬I2C時序進而實現(xiàn)I2C通訊的步驟

    模擬I2C時序進而實現(xiàn)I2C通訊的。給很多想學習硬件I2C通訊的小伙伴帶來了困難。下面先介紹一下
    發(fā)表于 01-24 08:22

    I2C總線應用中的幾個問題

    I2C總線應用中的幾個問題:i2c上拉電阻阻值的確定,PCB布局布線與抗干擾設計,軟件模擬I2C時序
    發(fā)表于 09-13 14:27 ?51次下載
    <b class='flag-5'>I2C</b>總線應用中的幾個問題

    軟件模擬I2C總線的C51實現(xiàn)

    軟件模擬I2C總線的C51實現(xiàn)
    發(fā)表于 10-13 11:03 ?8次下載
    <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b>總線的<b class='flag-5'>C</b>51<b class='flag-5'>實現(xiàn)</b>

    I2C總線的結構、工作時序模擬編程

    I2C總線的結構、工作時序模擬編程
    發(fā)表于 10-24 14:34 ?13次下載
    <b class='flag-5'>I2C</b>總線的結構、工作<b class='flag-5'>時序</b>和<b class='flag-5'>模擬</b>編程

    使用51單片機IO模擬I2C的程序免費下載

    本文檔的主要內容詳細介紹的是使用51單片機IO模擬I2C的程序免費下載。
    發(fā)表于 08-02 17:34 ?5次下載
    使用51單片機<b class='flag-5'>IO</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b>的程序免費下載

    DSP配置I2C通訊(非IO軟件模擬時序

    TMS320F28377D為例,使用ti公司dsp開發(fā)工具ccs10.1配置i2c模塊。寫這篇文章的緣由,因為市面上很多DSP其實內部是具有硬件I2C接口的,但由于網絡上大部分資料和例程都是利用IO
    發(fā)表于 11-29 14:06 ?16次下載
    DSP配置<b class='flag-5'>I2C</b>通訊(非<b class='flag-5'>IO</b>口<b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>時序</b>)

    STM32 通用GPIO模擬I2C實現(xiàn)

    STM32 模擬I2C實現(xiàn)#通用GPIO模擬I2C通信實現(xiàn)樣例1 GPIO初始化``#ifdef
    發(fā)表于 11-29 15:21 ?29次下載
    STM32 通用GPIO<b class='flag-5'>模擬</b><b class='flag-5'>I2C</b><b class='flag-5'>實現(xiàn)</b>

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

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

    硬件I2C模擬I2C

    硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于
    發(fā)表于 12-28 19:14 ?82次下載
    硬件<b class='flag-5'>I2C</b>與<b class='flag-5'>模擬</b><b class='flag-5'>I2C</b>

    經過驗證的GPIO模擬I2C時序代碼

    使用STM32的GPIO模擬I2C總線時序,GPIO設置為開漏模式,SDA和SCK外部必須使用上拉電阻,一般是4.7K。開漏模式的好處是,可以同時讀取輸入電平,而無需切換輸入/輸出模式。注意事項:在
    發(fā)表于 12-28 19:36 ?13次下載
    經過驗證的GPIO<b class='flag-5'>模擬</b><b class='flag-5'>I2C</b><b class='flag-5'>時序</b>代碼

    ESP 12E I2c基卡的I2C IO卡設計

    電子發(fā)燒友網站提供《ESP 12E I2c基卡的I2C IO卡設計.zip》資料免費下載
    發(fā)表于 08-15 09:27 ?3次下載
    ESP 12E <b class='flag-5'>I2c</b>基卡的<b class='flag-5'>I2C</b> <b class='flag-5'>IO</b>卡設計

    STC單片機IO模擬I2C(主從)文件資料

    STC單片機IO模擬I2C(主從)文件資料免費下載。
    發(fā)表于 08-29 10:13 ?17次下載

    軟件模擬I2C從機的實現(xiàn)方法及注意事項

    具有隨機性,所以實現(xiàn)方法不能參照軟件模擬I2C主機那樣使用單純的軟件查詢狀態(tài)的方法。由于實際使用時,MCU的固件還會執(zhí)行其他的操作,所以如果
    的頭像 發(fā)表于 01-17 14:56 ?1.6w次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b>從機的<b class='flag-5'>實現(xiàn)</b>方法及注意事項