key.c
来自「AT917S64,ARM处理器的程序。点灯的应用。」· C语言 代码 · 共 48 行
C
48 行
/************************************************************/
/* 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)==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=0;
return(keyvalue);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?