當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > GPIO是什么?
GPIO,英文全稱為General-Purpose Input Output,也就是通用IO口,人們利用工業(yè)標(biāo)準(zhǔn)I2C、SMBus或SPI接口簡化了I/O口的擴(kuò)展。當(dāng)微控制器或芯片組沒有足夠的I/O端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時,GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能。
在嵌入式系統(tǒng)中,經(jīng)常需要控制許多結(jié)構(gòu)簡單的外部設(shè)備或者電路,這些設(shè)備有的需要通過CPU控制,有的需要CPU提供輸入信號。并且,許多設(shè)備或電路只要求有開/關(guān)兩種狀體就夠了,比如LED的亮與滅。對這些設(shè)備的控制,使用傳統(tǒng)的串口或者并口就顯得比較復(fù)雜,所以,在嵌入式微處理器上通常提供了一種“通用可編程I/O端口”,也就是GPIO。
一個GPIO端口至少需要兩個寄存器,一個做控制用的“通用IO端口控制寄存器”,還有一個是存放數(shù)據(jù)的“通用I/O端口數(shù)據(jù)寄存器”。數(shù)據(jù)寄存器的每一位是和GPIO的硬件引腳對應(yīng)的,而數(shù)據(jù)的傳遞方向是通過控制寄存器設(shè)置的,通過控制寄存器可以設(shè)置每一位引腳的數(shù)據(jù)流向。這樣,有無GPIO接口也就成為微控制器區(qū)別于微處理器的一個特征。