新聞中心

LPC2131的GPIO操作

作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
LPC2131中,使用IOxCLR,IOxSET寄存器來對x口清零置1
要清零P0口的第5位
IO0CLR=0x00000010;
0x00000010,為16進制數(shù)據(jù)
用二進制表示為0000,0000,0000,0000,0000,0000,0001,0000
31------------------------------------------0
其中的1出現(xiàn)在第五位
要清零P1口的第7位
IO1SET=0x00000040;
LPC2131不能直接對某一位進行訪問,必須對整個P0口進行操作,
輸出時通過向IO0SET和IO0CLR寫1來實現(xiàn)引腳電平的高低變換,輸入時查詢IO0PIN。在這之前需要對P0口進行配置,使用PINSEL0和PINSEL1進行引腳工作方式配置。
IO0DIR對IO口工作方式下P0的輸入或者輸出方向控制。
例如,如果要對P0.0進行方波輸出的話

PINSEL0=PINSEL0 &(~0x00000003)|0x00000000; //P0.0配置為GPIO
IO0DIR = IO0DIR &(~0x00000001)|0x00000001; //P0.0配置為輸出
while(1)
{
IO0SET = 0x00000001; //P0.0置高
延時
IO0CLR = 0x00000001; //P0.0拉低
延時
}

當然,如果你為了直觀及后續(xù)輸入方面的話,可以前面宏定義
#define wave 0x00000001
后面直接IO0SET = wave; 就可以了


關(guān)鍵詞: LPC2131GPIO操

評論


技術(shù)專區(qū)

關(guān)閉