新聞中心

LPC2131的GPIO操作

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

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

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


關(guān)鍵詞: LPC2131GPIO操

評(píng)論


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

關(guān)閉