chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

一、Bit Bang

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

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

二、代碼分析

以下代碼基于 STM32 系列 MCU

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

1、設(shè)置 GPIO 管腳

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

2、SCL時鐘周期

3、附加設(shè)置

這里主要是使用宏定義模擬函數(shù)

4、I2C 啟動

5、I2C停止

6、發(fā)送 8 位數(shù)據(jù),返回值為從響應(yīng) ACK 標志

7、接收 8 位數(shù)據(jù)

三、操作實例

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

1、設(shè)置 DAC 寄存器的值

三個參數(shù)分比為從機地址,寄存器地址,8 位數(shù)據(jù)

2、讀取 DAC 寄存器的值

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

代碼 1,返回 16 位數(shù)據(jù),不常見

代碼 2,返回 8 位數(shù)據(jù)

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

    關(guān)注

    0

    文章

    3

    瀏覽量

    6690

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

文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

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

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

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

    上篇推文對I2C總線的特性進行了介紹和描述。對于開發(fā)者而言,最重要的是編碼I2C的讀寫時序驅(qū)動。本篇推文主要總結(jié)和分享I2C總線主機端通信的編程實現(xiàn)
    發(fā)表于 10-01 16:54 ?3507次閱讀
    <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通訊的。給很多想學(xué)習(xí)硬件I2C通訊的小伙伴帶來了困難。下面先介紹一下
    發(fā)表于 01-24 08:22

    I2C總線應(yīng)用中的幾個問題

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

    軟件模擬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總線的結(jié)構(gòu)、工作時序模擬編程

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

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

    本文檔的主要內(nèi)容詳細介紹的是使用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其實內(nèi)部是具有硬件I2C接口的,但由于網(wǎng)絡(luò)上大部分資料和例程都是利用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>

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

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

    硬件I2C模擬I2C

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

    經(jīng)過驗證的GPIO模擬I2C時序代碼

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

    ESP 12E I2c基卡的I2C IO卡設(shè)計

    電子發(fā)燒友網(wǎng)站提供《ESP 12E I2c基卡的I2C IO卡設(shè)計.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>卡設(shè)計

    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.5w次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>模擬</b><b class='flag-5'>I2C</b>從機的<b class='flag-5'>實現(xiàn)</b>方法及注意事項