GPIO是什么(me)?
時間(jian):2018-12-24 來源:華清遠見
GPIO,英文全(quan)稱為General-Purpose Input Output,也就(jiu)是通(tong)用(yong)IO口(kou)(kou),人們利(li)用(yong)工業標準(zhun)I2C、SMBus或SPI接(jie)口(kou)(kou)簡化了I/O口(kou)(kou)的(de)擴展。當(dang)微控制器(qi)或芯(xin)片組沒(mei)有足(zu)夠的(de)I/O端(duan)口(kou)(kou),或當(dang)系統需要采用(yong)遠(yuan)端(duan)串行通(tong)信或控制時,GPIO產(chan)品能(neng)夠提供額外的(de)控制和監視功能(neng)。
在嵌(qian)入式系(xi)統中,經常(chang)需要(yao)(yao)控(kong)(kong)制(zhi)(zhi)許多結構簡(jian)單的(de)外部設(she)備(bei)或者(zhe)電路,這些設(she)備(bei)有的(de)需要(yao)(yao)通(tong)過CPU控(kong)(kong)制(zhi)(zhi),有的(de)需要(yao)(yao)CPU提供輸(shu)入信號。并且,許多設(she)備(bei)或電路只要(yao)(yao)求有開/關兩種狀(zhuang)體(ti)就(jiu)夠(gou)了,比(bi)如LED的(de)亮(liang)與(yu)滅。對這些設(she)備(bei)的(de)控(kong)(kong)制(zhi)(zhi),使用傳(chuan)統的(de)串口(kou)或者(zhe)并口(kou)就(jiu)顯得比(bi)較復(fu)雜,所以,在嵌(qian)入式微(wei)處理器上通(tong)常(chang)提供了一種“通(tong)用可編(bian)程I/O端(duan)口(kou)”,也就(jiu)是GPIO。
一(yi)個(ge)(ge)GPIO端口(kou)至少需要兩個(ge)(ge)寄(ji)存(cun)(cun)器(qi),一(yi)個(ge)(ge)做控(kong)(kong)制(zhi)用的(de)(de)“通用IO端口(kou)控(kong)(kong)制(zhi)寄(ji)存(cun)(cun)器(qi)”,還有一(yi)個(ge)(ge)是(shi)存(cun)(cun)放數據(ju)(ju)的(de)(de)“通用I/O端口(kou)數據(ju)(ju)寄(ji)存(cun)(cun)器(qi)”。數據(ju)(ju)寄(ji)存(cun)(cun)器(qi)的(de)(de)每一(yi)位(wei)是(shi)和GPIO的(de)(de)硬件(jian)引腳對應的(de)(de),而數據(ju)(ju)的(de)(de)傳遞方(fang)向是(shi)通過控(kong)(kong)制(zhi)寄(ji)存(cun)(cun)器(qi)設(she)置的(de)(de),通過控(kong)(kong)制(zhi)寄(ji)存(cun)(cun)器(qi)可(ke)以設(she)置每一(yi)位(wei)引腳的(de)(de)數據(ju)(ju)流向。這樣(yang),有無(wu)GPIO接(jie)口(kou)也(ye)就(jiu)成為微控(kong)(kong)制(zhi)器(qi)區別(bie)于微處理器(qi)的(de)(de)一(yi)個(ge)(ge)特(te)征。

