⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyproce.cpp

📁 串口可交换程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
					//if(_disp.disp_way==1)
					marker_hardkey();
					break;
		case  'd':
		case  DISPLAY:   //d
//					if(_disp.disp_way==1)
					display_hardkey();
					break;
		case  'o':
		case  FORMAT:    //o
  //					if(_disp.disp_way==1)
					format_hardkey();
					break;
		case  'y':
		case  SYSTEM:    //y
	//				if(_disp.disp_way==1)
					system_hardkey();
					break;
		default:  break;
	 }
}

//modified by lingyi
void numberkey_process(KEY key,char counts)
{
  //	cursor();
	 char msg[2];
	 switch(key)
	 {
		//entry area key
		//number keys
		case  N0:       //0
		case  N1:       //1
		case  N2:       //2
		case  N3:       //3
		case  N4:       //4
		case  N5:       //5
		case  N6:       //6
		case  N7:       //7
		case  N8:       //8
		case  N9:       //9
		//	numkeys_p(key);
			if(index>11)
				return;
			msg[1]='\0';
			if(digital_en)
			{
				if(index==0){
				if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
					(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
//					(_keyid==DISPLAY&&_softkeyid==3&&((_softkeyid1==33&&_softkeyid2==331)||
//									(_softkeyid1==34&&_softkeyid2==341)||
//									(_softkeyid1==35&&_softkeyid2==351)||(_softkeyid1==36&&_softkeyid2==362)||(_softkeyid1==36&&_softkeyid2==363)))||
					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))){
						x_pos=120;
						if(sign==0||(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))){
							clear_rect(118,462,449,475);
							clear_rect(118,462,449,475);
						}
						else {
							clear_rect(105,462,449,475);
							clear_rect(105,462,449,475);
						}
					}
					else{
						if((_keyid==SWEEP)&&(_softkeyid==1)&&(_sweep[ch_sel].flag1==0))

						{
							disp_menu12((char **)sweep_t,7);
						}

						x_pos=107;
						clear_rect(105,462,449,475);
						clear_rect(105,462,449,475);

					}

					curs_flag=0;
				}
//				if(key==0x0b)
//					msg[0]=0;
//				else
//					msg[0]=key-1;
				msg[0] = key - '0';
				number_keys[index]=msg[0];
				msg[0]+='0';
				if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
					(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
//					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid1==42||
//					(_softkeyid1==43&&_softkeyid2==432)||
//					(_softkeyid1==44&&_softkeyid2==441)||
//					(_softkeyid1==45&&_softkeyid2==451)||
//					(_softkeyid1==46&&_softkeyid2==462)))||
					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))
					){

					Outchar12(118+13*index,462,msg,TEXTDIGITAL);
					Outchar12(118+13*index,462,msg,TEXTDIGITAL);
				}
				else{
					Outchar12(105+13*index,462,msg,TEXTDIGITAL);
					Outchar12(105+13*index,462,msg,TEXTDIGITAL);
				}
				index++;
				curs_forward();
			}
			break;
		//dot key
		case  NDOT:     //>.
		//	dotkey_p();
			if(!digital_en)
				return;
			if(_keyid==AVERAGE||_keyid==STORE||_keyid==RECALL||(_keyid==SCALE&&_softkeyid==4))
				return;
			msg[1]='\0';
			if(index>10)
				return;
			for(int i=0;i<index;i++)
				if(number_keys[i]==NDOT)
					return;
			if(index==0){
				if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
					(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
//					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid1==42||
//					(_softkeyid1==43&&_softkeyid2==432)||
//					(_softkeyid1==44&&_softkeyid2==441)||
//					(_softkeyid1==45&&_softkeyid2==451)||
//					(_softkeyid1==46&&_softkeyid2==462)))||
					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))
					){
					x_pos=120;
					clear_rect(118,462,449,475);
					clear_rect(118,462,449,475);
				}
				else{
					x_pos=107;
					clear_rect(105,462,449,475);
					clear_rect(105,462,449,475);
				}
				curs_flag=0;
			}
			curs_forward();
			number_keys[index]=NDOT;
			msg[0]='.';
			if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
					(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid2==421||_softkeyid2==432||_softkeyid2==441||_softkeyid2==442||_softkeyid2==443||_softkeyid2==444||_softkeyid2==451||_softkeyid2==452||_softkeyid2==453||_softkeyid2==454||_softkeyid2==461||_softkeyid2==462))
					){
				Outchar12(118+13*index,462,msg,TEXTDIGITAL);
				Outchar12(118+13*index,462,msg,TEXTDIGITAL);
			}
			else{
				Outchar12(105+13*index,462,msg,TEXTDIGITAL);
				Outchar12(105+13*index,462,msg,TEXTDIGITAL);
			}
			index++;
			break;
		//frequency unit keys
		case  HZ:
		case  KHZ:
		case  MHZ:
		//	freq_unitkey_p(key);
			if(key==HZ){
				num_unit=HZ;
			}
			else if(key==KHZ){
				num_unit=KHZ;

			}
			else if(key==MHZ){
				num_unit=MHZ;

			}
			else
				return;
			if(index>0&&_keyid==FREQ)
				set_freq();
			else if(index>0&&_keyid==MARKER)
				set_marker();
			else if(index>0&&_keyid==DISPLAY)
				set_disp();
			break;
		//power unit keys
		case  MV:
		case  DBM:
		//	pow_unitkey_p(key);
			if(index>0&&(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3&&_chab[ch_sel].flag==1))){
				if(key==MV){
					num_unit=MV;

				}
				else if(key==DBM){
					num_unit=DBM;

				}
				else
					return;
				if(_keyid==POWER)
					set_power();
				else if(_keyid==SCALE)
					set_scale();
			}
			break;
		//backspace key
		case  CLR:      //backspace
		///	clrkey_p();
			if(index>0){
				index--;
				if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
					(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
					(_keyid==DISPLAY&&_softkeyid==4&&(_softkeyid1==42||
					(_softkeyid1==43&&_softkeyid2==432)||
					(_softkeyid1==44&&_softkeyid2==441)||
					(_softkeyid1==45&&_softkeyid2==451)||
					(_softkeyid1==46&&(_softkeyid2==461||_softkeyid2==462)))) ){
					clear_rect(117+13*index,462,130+13*index,475);
					clear_rect(117+13*index,462,130+13*index,475);
				}
				else{
					clear_rect(105+13*index,462,118+13*index,475);
					clear_rect(105+13*index,462,118+13*index,475);
				}
				curs_backward();
			}
			break;
		case  MINUS:
		///	minuskey_p();
				if(_keyid==POWER||(_keyid==SCALE&&_softkeyid==3)||
					(_keyid==MARKER&&(_softkeyid==6||(_softkeyid==7&&_softkeyid1==73&&_softkeyid2==731)))||
					(_keyid==DISPLAY&&_softkeyid==4&&((_softkeyid1==44&&_softkeyid2==441)||
					(_softkeyid1==45&&_softkeyid2==451)||
					(_softkeyid1==46&&_softkeyid2==462))) ){
				if(index==0){
					clear_rect(105,462,449,475);
					clear_rect(105,462,449,475);
					x_pos=120;
				}
				if(sign==1){
					sign=0;
					disable();
					setcolor(TEXTDIGITAL);
					outtextxy(107,465,"-");
					outtextxy(107,465,"-");
					enable();
				}
				else{
					sign=1;
					clear_rect(105,462,118,475);
					clear_rect(105,462,118,475);
				}
				curs_flag=0;
				cursor();
			}
			break;
		//enter key
		case  ENTER:
		///	enterkey_p();
			switch(_keyid)
			{
			case FREQ:
				set_freq();
//				init_cur_frq(_freq[ch_sel].start_freq);
				break;
			case POWER:
				set_power();
				break;
			case SWEEP:
				break;
			case SCALE:
				set_scale();
				break;
			case MARKER:
				set_marker();
				break;
			case SYSTEM:
				set_system();
				break;
			case AVERAGE:
				set_avg_times();
				break;
			case STORE:
				break;
			case RECALL:
				break;
			case DISPLAY:
				set_disp();
			default:
				break;
			}
			break;
		//others key
		case  LR_R:     //-->
		case  UP:       //UP
//			upkey_p();
//			break;
		case  LR_L:     //<--
		case  DOWN:     //DOWN
//  			downkey_p(key);
			updownkey_p(key,counts);
			break;
		case  CURSOR:
			curskey_p();
			break;
		default:  break;
	 }
}
void softkey_process(KEY key)
{

	 switch(_keyid)
	 {
		case  MEASURE:  //u
					measure_softkey(key);
					break;
		case  STORE:    //r
					store_softkey(key);
					break;
		case  VERIFY:    //v
					verify_softkey(key);
					break;
		case  AVERAGE:   //g
					average_softkey(key);
					break;
		case  CHA:      //a
					chab_softkey(key);
					break;
		case  CHB:      //b
					chab_softkey(key);
					break;
		case  'f':
		case  FREQ:     //f
					freq_softkey(key);
					break;
		case  'p':
		case  POWER:    //p
					power_softkey(key);
					break;
		case  SWEEP:    //s
				sweep_softkey(key);
					break;
		case  RECALL:    //t
				recall_softkey(key);
					break;


		case  SCALE:    //l
				scale_softkey(key);
					break;
		case  MARKER:   //m
				marker_softkey(key);
					break;
		case  DISPLAY:  //d
					display_softkey(key);
					break;
		case  FORMAT:     //o
					format_softkey(key);
					break;
		case  SYSTEM:     //y
					system_softkey(key);
					break;
		default:  break;
	 }
}

void send_ch(BYTE* p,int len)
{
	assert(p != NULL && len > 50);
	for(int i=0;i<len;i++)
	{
		while((inportb(0x2fd) & 0x40) == 0);
		outportb(0x2f8,*p++);
	}


}

⌨️ 快捷键说明

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