1. 程式人生 > >微控制器引腳與埠,引腳和GPIO的區別

微控制器引腳與埠,引腳和GPIO的區別

一,引腳與埠:

1.引腳就是晶片外接引腳啊,一個晶片至少有VCC,GND引腳,象51微控制器還有IO引腳,串列埠引腳等,引腳就是物理外接一個個管腿啊。
2.是微控制器內部(CPU單元)和外部IO介面組,比如說PA,有8個引腳,PA0~PA7。在IO空間對映有暫存器,這個暫存器反映當前狀態,如PA0口上輸入電壓是0~5V訊號,微控制器在對映進暫存器時會定義一個門限(如1.8V),低於這個門限暫存器中相應位是0,高於這個門限相應位是1。一般還有其他控制暫存器,如控制引腳輸入輸出暫存器,如控制引腳複用暫存器等。當設定引腳為輸出時,向相應輸出暫存器相應位寫1,該對應IO引腳就會輸出一個近似VCC

電平,當向相應位寫0時,該對應IO引腳會輸出一個近似0V電平。

二.引腳與GPIO:

GPIO這個問題很多人都混淆。

本身的概念
GPIO是General-Purpose Input / Output。
-------------
到了微控制器上,微控制器有很多管腳(PIN)

-------------
PIN除了一些特殊的,比如電源,比如地線,晶振接線等等,很多都可以任意定義成兩種功能中的一種:1. 模組的管腳,2. GPIO

--------------
當定義為模組管腳時,PIN起模組中定義的功能。比如定義成SPI模組的管腳,那就按照具體晶片的規定,或者定義成MOSI,或者定義成MISO,或者定義成SCLK,這些不是任意的。SPI是模組,MISO等是功能管腳。

--------------
當定義成GPIO時,可以定義成高阻,輸入,或者輸出。這時候,就可以用作操作控制位,點

LED燈等功能了。


--------------
很多模組的功能管腳,嚴格意義上來講也是IO,比如CANH,CANL,所以這裡為了避免混淆,就將沒有定義成模組功能管腳的那些微控制器管腳定義成General Purpose的IO了,以示區別。