久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

STM32 MCU GPIO雙向口使用的話題

 圓錐的布袋 2017-12-08

關于STMCUGPIO的雙向使用話題不新鮮了,好像還經(jīng)常有人在此遇點麻煩,。這可能跟總有新人接觸STMCU不無關系。


幾天前一個研究生MM使用STM32GPIO模擬I2C通信,,讀取一時鐘芯片的時鐘的過程中遇到麻煩,。查看其代碼,看到其在SDA數(shù)據(jù)線讀寫代碼時,,發(fā)現(xiàn)其來回做SDA腳的GPIO模式切換,。那樣寫雖然沒有錯,但那樣寫多少有點累或繁瑣,。

無獨有偶,,昨天一廣州工程師也是用某STM32芯片的GPIO模擬I2C通信。他發(fā)現(xiàn)通信程序總是堵塞在代碼某地方,。后來發(fā)現(xiàn)將那2根通信線的GPIO模式由輸入改為ODPP就正常了。程序正是正常了,,但有點不知所以然的意味,,如鯁在喉。

其實,,STMCUGPIO是支持雙向通信的,。如果希望某GPIO做雙向傳輸,將其配制為OD輸出模式,,將相應輸出寄存器位寫1就可以了,,不用在程序代碼里往返切換,。

至于第二個案例,他用GPIO模擬I2C通信,,其SDA應是雙向數(shù)據(jù)口,,只是把他定義為輸入肯定是不行的,那樣的話完全沒法做輸出了,。如果這樣,,通信自然無法正常。他把SDA口配置為OD才是合理的,。

下圖是GPIO配置為輸入時的情況,。


如果把GPIO配置為PP是否可以做雙向口呢,很多人發(fā)現(xiàn)有時可行有時不可行,。

我們不妨先看看STMCU GPIO配置為輸出時的原理框圖,。


對于OD配置,結合上拉,,輸出電平的高低確定,。當給端口輸出寄存器寫1時,端口對外成高阻態(tài),。外部電平真實反映在端口上,,輸入電平不受內(nèi)部輸出控制電路的影響,而且GPIO管腳相對安全,。

對于PP配置端口,,跟OD配置相比,差別就大了,。首先對于PP配置,,總有一邊管子導通,對外來電平會有些影響,。

若給PP配置端口輸出寄存器寫0,,只有下方的N-MOS導通到地,端口不論外部電平如何變化都會鎖定在低電平,,當外來輸入高電平時有管腳燒壞風險,。

如果給PP配置端口輸出寄存器寫1,只讓上方P-MOS導通,。如果外來電平為高沒什么問題,,如果外來電平是低,也有可能管腳過流燒掉,。當然到底燒不燒還得結合外圍電路的配置,。整體而言,對于PP配置輸出口不合適作輸入的讀取,,所以不建議使用PP做雙向口用,。關于STMCUGPIO的雙向使用話題不新鮮了,好像還經(jīng)常有人在此遇點麻煩,。這可能跟總有新人接觸STMCU不無關系。


幾天前一個研究生MM使用STM32GPIO模擬I2C通信,,讀取一時鐘芯片的時鐘的過程中遇到麻煩,。查看其代碼,看到其在SDA數(shù)據(jù)線讀寫代碼時,,發(fā)現(xiàn)其來回做SDA腳的GPIO模式切換,。那樣寫雖然沒有錯,但那樣寫多少有點累或繁瑣,。

無獨有偶,,昨天一廣州工程師也是用某STM32芯片的GPIO模擬I2C通信。他發(fā)現(xiàn)通信程序總是堵塞在代碼某地方,。后來發(fā)現(xiàn)將那2根通信線的GPIO模式由輸入改為ODPP就正常了,。程序正是正常了,但有點不知所以然的意味,,如鯁在喉,。

其實,STMCUGPIO是支持雙向通信的,。如果希望某GPIO做雙向傳輸,,將其配制為OD輸出模式,將相應輸出寄存器位寫1就可以了,,不用在程序代碼里往返切換,。

至于第二個案例,他用GPIO模擬I2C通信,,其SDA應是雙向數(shù)據(jù)口,,只是把他定義為輸入肯定是不行的,那樣的話完全沒法做輸出了,。如果這樣,,通信自然無法正常。他把SDA口配置為OD才是合理的,。

下圖是GPIO配置為輸入時的情況,。


如果把GPIO配置為PP是否可以做雙向口呢,很多人發(fā)現(xiàn)有時可行有時不可行,。

我們不妨先看看STMCU GPIO配置為輸出時的原理框圖,。


對于OD配置,結合上拉,,輸出電平的高低確定。當給端口輸出寄存器寫1時,,端口對外成高阻態(tài),。外部電平真實反映在端口上,,輸入電平不受內(nèi)部輸出控制電路的影響,而且GPIO管腳相對安全,。

對于PP配置端口,,跟OD配置相比,差別就大了,。首先對于PP配置,,總有一邊管子導通,對外來電平會有些影響,。

若給PP配置端口輸出寄存器寫0,,只有下方的N-MOS導通到地,端口不論外部電平如何變化都會鎖定在低電平,,當外來輸入高電平時有管腳燒壞風險,。

如果給PP配置端口輸出寄存器寫1,只讓上方P-MOS導通,。如果外來電平為高沒什么問題,,如果外來電平是低,也有可能管腳過流燒掉,。當然到底燒不燒還得結合外圍電路的配置,。整體而言,對于PP配置輸出口不合適作輸入的讀取,,所以不建議使用PP做雙向口用,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多