久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9504|回復: 0
打印 上一主題 下一主題
收起左側

STM32 MCU GPIO雙向口使用的話題

[復制鏈接]
跳轉到指定樓層
樓主
ID:98618 發表于 2015-12-8 04:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本文的作者是milershao
關于STMCUGPIO的雙向使用話題不新鮮了,好像還經常有人在此遇點麻煩。這可能跟總有新人接觸STMCU不無關系。


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

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

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

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

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


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

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


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

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

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

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


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

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

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

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

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


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

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


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

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

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

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91国内视频在线 | 国产一区二区三区在线 | 91精品国产一区二区三区 | 91久久国产综合久久 | 在线中文字幕av | 亚洲草草视频 | 91久久精 | 欧美激情精品久久久久久变态 | 中文字幕在线一区二区三区 | 亚洲天堂av网 | 在线免费观看黄色 | 国产一区二区欧美 | 久久精品16 | 黄色毛片网站在线观看 | 一区二区在线不卡 | 蜜桃视频成人 | 日日躁狠狠躁aaaaxxxx | 亚洲高清视频在线观看 | 欧美日一区二区 | 欧美激情在线精品一区二区三区 | 伊人网国产 | 午夜亚洲 | 日韩精品在线视频 | 亚洲字幕在线观看 | 日韩视频一区在线观看 | 不卡av在线 | 亚欧精品 | 亚洲一区二区三区免费在线 | 高清欧美性猛交 | 中文字幕韩在线第一页 | 欧美一级黄色片免费观看 | 美女黄网站视频免费 | 91成人在线视频 | 成在线人视频免费视频 | 操久久 | 91高清在线视频 | 久久久久久久久久久久一区二区 | 国产精品久久久久久久久久久久冷 | 欧美视频在线免费 | 日本涩涩视频 | 亚洲欧美日韩高清 |