微控制器引腳與埠,引腳和GPIO的區別
一,引腳與埠:
1.引腳就是晶片外接的引腳啊,一個晶片至少有VCC,GND引腳,象51微控制器還有IO引腳,串列埠引腳等,引腳就是物理外接的一個個管腿啊。
2.埠是微控制器內部(CPU單元)和外部IO的介面組,比如說PA埠,有8個引腳,PA0~PA7。埠在IO空間對映有暫存器,這個暫存器反映當前埠的狀態,如PA0口上輸入的電壓是0~5V的訊號,微控制器在對映進暫存器時會定義一個門限(如1.8V),低於這個門限暫存器中相應位是0,高於這個門限相應位是1。一般埠還有其他控制暫存器,如控制埠引腳輸入輸出的暫存器,如控制埠引腳複用的暫存器等。當設定埠引腳為輸出時,向相應的輸出暫存器的相應位寫1,該埠的對應IO引腳就會輸出一個近似VCC的
二.引腳與GPIO:
GPIO這個問題很多人都混淆。
本身的概念
GPIO是General-Purpose Input / Output。
-------------
到了微控制器上,微控制器有很多管腳(PIN)
-------------
PIN除了一些特殊的,比如電源,比如地線,晶振接線等等,很多都可以任意定義成兩種功能中的一種:1. 模組的管腳,2. GPIO
--------------
當定義為模組管腳時,PIN起模組中定義的功能。比如定義成SPI模組的管腳,那就按照具體晶片的規定,或者定義成MOSI,或者定義成MISO,或者定義成SCLK,這些不是任意的。SPI是模組,MISO等是功能管腳。
--------------
當定義成GPIO時,可以定義成高阻,輸入,或者輸出。這時候,就可以用作操作控制位,點
--------------
很多模組的功能管腳,嚴格意義上來講也是IO,比如CANH,CANL,所以這裡為了避免混淆,就將沒有定義成模組功能管腳的那些微控制器管腳定義成General Purpose的IO了,以示區別。