欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機STM32的引腳模式設置
[打印本頁]
作者:
51黑er
時間:
2016-3-3 01:45
標題:
單片機STM32的引腳模式設置
單片機STM32的引腳有多種方式可以選擇。
如果你是用直接寫寄存器來配置的話,那么,看上手冊,給“配置寄存器”對應的位寫0或者1就可以達到目的。如下圖:
(點擊圖片可放大)
如果是用庫函數來配置的話,就需要知道下面這個結構體中的變量代表的意義。
庫函數,選擇好GPIO_Mode之后,就要使用GPIO_Init()函數來配置,你可以打開這個配置函數,實際上也是在對“配置寄存器”進行寫操作。
先解釋一下這個結構體中的各個變量的意思:
GPIO_Mode_AIN:模擬輸入模式
GPIO_Mode_IN_FLOATING:浮空輸入模式
GPIO_Mode_IPD:下拉輸入模式
GPIO_Mode_IPU:上拉輸入模式
GPIO_Mode_Out_OD:通用開漏輸出模式
GPIO_Mode_Out_PP:通用推挽輸出模式
GPIO_Mode_AF_OD:復用開漏輸出模式
GPIO_Mode_AF_PP:復用推挽輸出模式
前四個是輸入模式,后四個是輸出模式。
輸入和輸出
從51過來的人,對輸入和輸出比較陌生。51單片機不用設置輸入和輸出模式,自動變換,無需程序配置,當我們寫程序讀引腳的電平的時候,實際上就是作為輸入模式來使用,當我們寫程序讓引腳輸出電平的時候,實際上就是作為輸出模式來使用。也就是說,并不是51單片機沒有輸入和輸出這個概念,而是你已經使用了很久卻沒有發現。
STM32與51的區別就是:當我們要讀引腳電平的時候,也就是作為輸入,我們必須要先把引腳設置為輸入功能,才可以讀。當我們要控制引腳高低電平的時候,也就是作為輸出,我們必須要先把引腳設置為輸出功能,才可以設置。
上拉與下拉
概念比較抽象,你只需要記住:在引腳上沒有外界干擾的情況下,上拉就是把引腳設置為高電平了,你用萬用表量上拉引腳,就是高電平;下拉就是把引腳設置為低電平了,你用萬用表量下拉引腳,就是低電平,也就是0V。
推挽與開漏
概念比較抽象,你只需要記住:設置為推挽,就是提高了引腳的輸出電流能力。設置為開漏,就是提高了引腳的輸入電流能力。然后還要知道,設置為開漏時,如果外部不加上拉電阻,默認輸出是低電平。
通用與復用
通用就是作為普通的輸入和輸出引腳。復用就是該引腳可以作為SPI引腳I2C引腳等其他功能的引腳。
使用介紹
結合上面講的,可以得到一些簡單的應用設置方式。
比如檢測按鍵,就應該設置為輸入,如果外部沒有加上拉電阻,你就需要設置引腳為上拉輸入,這樣如果檢測到引腳是低電平,就是按下按鍵了。如果外部加了上拉電阻,你這時既可以把引腳設置為上拉輸入,也可以設置為浮空輸入,設置為這兩種,由于外部上拉電阻的原因,默認就是高電平,同樣,檢測到低電平時,就是按鍵按下了。
當你要控制引腳高低電平做應用時,就是需要把引腳設置為輸出功能。例如驅動一個器件,驅動一個發光二極管等。如果你要使用高電平點亮發光二極管,就需要把引腳設置為推挽輸出,以增大電流輸出能力,如果你設置為開漏輸出,發光二極管肯定是點不亮了。但是如果你使用低電平點亮發光二極管,那么設置為開漏和推挽輸出都可以正常點亮發光二極管。
上面內容比較抽象,需要結合實際才可深入理解。暫時理解不了的,不用著急,接觸的多了,自然會理解透徹的。
學電子,關注微信公眾號:科技老頑童
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1