cc2530中有21個輸入/輸出引腳。
這些引腳可以設置為通用I/O或者設置為外設I/O。(其實這里的外設還是不太懂到底指什么,網上說輸入設備,但是通用I/O也可以輸入啊,為什么要弄外設I/O?)
其他外設I/O還可以連接到ADC,定時器,或者USART外設。
I/O端口的重要特點:
21個數字I/O引腳。
可配為通用I/O或者外設I/O。
輸入具有上拉或者下拉的能力。
具有外部中斷能力。
I/O口作通用I/O時,可組成3個端口。
端口0,1,2,分別用P0,P1,P2表示,分別有8,8,5個引腳。
關於通用I/O,有三個寄存器分別為:
功能寄存器(PxSEL)
方向寄存器(PxDIR)
配置寄存器(PxINP)
功能寄存器(PxSEL):
該寄存器的作用是設置端口的每個引腳為通用I/O,或者為外設I/O,復位后(寄存器的每一位都變為0),將對應端口的引腳都變為通用I/O。
該寄存器有8位,每一位對應着相應的引腳。
例:
當P0SEL[0]=0時,P0_0引腳為通用I/O。
當P0SEL[1]=1時,P0_1引腳為外設I/O。
問題:P2端口只有5個引腳,那P2SEL的其他三位做什么?
方向寄存器(PxDIR):
該寄存器的作用是當cc2530的引腳為通用I/O時,設置其為輸入或者是輸出,為0的時候是輸入,為1的時候是輸出。
該寄存器有8位,每一位對應着相應的引腳。
例:
當P0SEL[0]=0,並且P0DIR=0時,那么P0_0為輸入引腳。
配置寄存器(PxINP):
該寄存器的作用是當端口的引腳被用作通用I/O輸入時,引腳設置為上拉,下拉,和三態三種操作模式,當為1的時候為上拉/下拉模式,當為0的時候,為三態。