📄 key.bak
字号:
/************************************************************/
/* Test Code for S64-DEK REV2.0 */
/* By Team Mcuzone */
/* 2005-11 */
/************************************************************/
/************************************************************/
/* HardWare Connection */
/* KEY1<->PA15 */
/* KEY2<->PA16 */
/* KEY3<->PA23 */
/* KEY4<->PA20 */
/************************************************************/
#include <AT91SAM7S64.h>
void keyinit(void)
{
*AT91C_PMC_PCER|=0xF0000000; //PMC外设时钟使能
*AT91C_PIOA_PER|=0xF0000000; //KEY1-4作为I/O使用
*AT91C_PIOA_ODR|=0xF0000000; //KEY1-4输出禁止
*AT91C_PIOA_OSR&=0x0FFFFFFF;
*AT91C_PIOA_SODR|=0xF0000000; //KEY1-4置位输出
*AT91C_PIOA_IDR|=0xF0000000; //KEY1-4中断禁止
*AT91C_PIOA_IFDR|=0xF0000000; //毛刺滤波器禁止
*AT91C_PIOA_PPUER|=0xF0000000; //KEY1-4上拉/使能禁止
}
unsigned char getkey(void)
{
unsigned char keyvalue=0;
keyinit();
if((*AT91C_PIOA_PDSR&0xF0000000)==0xF0000000) //NO KEY PRESS
keyvalue=0;
else if((*AT91C_PIOA_PDSR&0xF0000000)==0x70000000) //KEY1 PRESSED
keyvalue=1;
else if((*AT91C_PIOA_PDSR&0xF0000000)==0xB0000000) //KEY2 PRESSED
keyvalue=2;
else if((*AT91C_PIOA_PDSR&0xF0000000)==0xD0000000) //KEY3 PRESSED
keyvalue=3;
else if((*AT91C_PIOA_PDSR&0xF0000000)==0xE0000000) //KEY4 PRESSED
keyvalue=4;
else
keyvalue=0xf;
return(keyvalue);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -