日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]軟件實現(xiàn)I2C主模式通訊看似簡單,

軟件實現(xiàn)I2C主模式通訊看似簡單,但實際應(yīng)用中最容易犯的錯誤就是對SCL和SDA總線上高電平的實現(xiàn)過程。在硬件設(shè)計上,任意選擇單片機的兩個IO引腳分別指派為SCL和SDA,雖然不是必須的,但為方便軟件編程一般設(shè)于同一個端口,并在其上外接上拉電阻,至于ESD保護電阻和抗干擾濾波電容則為可選件,不影響I2C總線通訊。當器件占用總線時,需要在SCL或SDA引腳上輸出低電平, 軟件就將PORT寄存器相關(guān)位設(shè)定為0的同時對應(yīng)的TRIS寄存器位也設(shè)為0;當釋放總線即總線上變?yōu)楦唠娖綍r,注意不能直接從IO引腳上輸出高電平,而是應(yīng)該將TRIS位設(shè)為1,使引腳變成高阻輸入狀態(tài),通過外接的上拉電阻得到高電平。很多工程師沒有遵循這種操作規(guī)范,盡管在特定的應(yīng)用中也可以實現(xiàn)I2C通訊,但留有很多隱患,不可盲目照搬。

對于PIC單片機來說,I2C總線的控制基本上可以簡化到對TRIS寄存器相關(guān)位的控制。在初始化時先將數(shù)據(jù)端口寄存器PORTx和PORTx引腳設(shè)為0。需要總線為0,則TRISx=0或TRISx=0;釋放總線,則TRISx=1或TRISx=1。當單片機需要從總線上讀取從器件發(fā)出的數(shù)據(jù)和應(yīng)答信號時,則直接讀取PORTx引腳的輸入電平。由于PORTx和TRISx寄存器在不同的bank,在程序中可以利用FSR做間接尋址以減少bank切換。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉