menukey.c

来自「pdh控制程序」· C语言 代码 · 共 87 行

C
87
字号
#ifndef _MENU_KEY_C_
#define _MENU_KEY_C_

#include "menukey.h"

#if _LCD_MENU_

void menu_key_voice( BYTE status )
{
	gSystemInfo.key_voice = status;

	switch( status )
	{
	case KEY_VOICE_ENABLE:
		menuInfo.menuBack = BACK_LIGHT_SHOW;
//		WriteChip( MENU_SPEAKER, KEY_VOICE_ENABLE );
		break;
	default:
//		WriteChip( MENU_SPEAKER, KEY_VOICE_DISABLE );
		break;
	}
	WriteChip( MENU_SPEAKER, status );
}

BYTE get_menu_key_voice_status( void )
{
	return gSystemInfo.key_voice;
}

void valid_key_obtain( BYTE value )
{
	BYTE counter;


	for( counter=0; counter<MENU_KEY_NUMBER; counter++ )
		if( !(value&(BIT0<<counter)) )
			break;
	if( counter < MENU_KEY_NUMBER )
	{
		gSystemInfo.valid_key = counter;
		gSystemInfo.back_light_time = 0;
		menu_key_voice( KEY_VOICE_ENABLE );
	}
}

void menu_key_scan( void )
{
	BYTE key;
	static BYTE xdata key_counter = 0;

	key = ReadChip( READ_KEY_ADDR );

	if( (key&MENU_KEY_NULL) != MENU_KEY_NULL )
	{
		key_counter ++;
	}
	else
	{
		key_counter  = 0;
		menu_key_voice( KEY_VOICE_DISABLE );
	}


	switch( key_counter )
	{
	case MENU_KEY_VALID:
		valid_key_obtain( key );
		break;

	default:
		break;
	}
}

BYTE get_menu_key( void )
{
	BYTE local_key;

	local_key = gSystemInfo.valid_key;
	gSystemInfo.valid_key = PRESS_NONE;

	return local_key;
}

#endif
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?