GPIO控制中同時將某口線拉高或拉低小技巧.
利用IOSET和IOCLR寄存器可更改GPIO引腳的位。但是IOSET和IOCLR對應寫入“1”的位才能設置成高/低電平。例如:將P0口的[7:0]由狀態0xA5改變為0x5A,
通過設置IO0SET和IO0CLR兩步走會產生一段中間過程(有的系統允許存在這段時間的延時)。
對于只讀寄存器IOPIN進行寫操作可以解決上面產生中間狀態的問題。僅需執行語句:
" IO0PIN = (IO0PIN & 0xFFFFFF00) | 0x0000005A "即可。
說明:
IOPIN的內容和一個值相“與”(該值使要改變的引腳對應使用0來屏蔽,其他引腳對應1),再將相“與”的結果和期望得到的引腳輸出對應的二進制數相“或”,并將相或的結果存入IOPIN寄存器中。
(注意:PHILIPS公司不推薦使用此做法。)
posted on 2007-06-20 22:44 Jolly Roger 閱讀(1052) 評論(0) 編輯 收藏 引用 所屬分類: 關于ARM

