key_scan.c
来自「使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发」· C语言 代码 · 共 50 行
C
50 行
/******************************************************************************
MODE: AML--#GPS+accelerator+compass
MCU: Cyan eCOG1k
COMPILER: CyanIDE v1.41
FILE NAME: key_scan C source code files
******************************************************************************/
#define key_code
/******************************************************************************
Project level include files.
******************************************************************************/
#include "key_scan.h"
/******************************************************************************
Declaration of static functions.
******************************************************************************/
extern void delay_ms(unsigned int ms_reg);
unsigned char key_scan(void);
/******************************************************************************
key scan function.
******************************************************************************/
unsigned char key_scan(void)
{
unsigned char key_value = 0,temp;
set_pa_input;
temp = rg.io.pa_in;
temp &= 0x0f;
if(temp == 0x0f) goto key_scan_end;
delay_ms(10);
key_value = rg.io.pa_in;
key_value &= 0x0f;
if(key_value != temp)
{
key_value = 0;
goto key_scan_end;
}
key_value = ~key_value;
key_value &= 0x0f;
key_scan_end :
return(key_value);
}
/******************************************************************************
key scan end.
******************************************************************************/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?