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

📄 key.c

📁 M200一个与单片机通信的C语言软件源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
						cTmpModeValue = ( cTmpModeValue - 0x04 ) & 0x0c;		//MI200_SS1,MI200_SS0 Minus One Circularly
						g_cModCfgReg = (g_cModCfgReg & 0xf3) | cTmpModeValue;
					}	
					break;
					case DOWN:		
					{	
						cTmpModeValue = (g_cModCfgReg & 0x0c);
						cTmpModeValue = ( cTmpModeValue + 0x04 ) & 0x0c;		//MI200_SS1,MI200_SS0 Minus One Circularly
						g_cModCfgReg = (g_cModCfgReg & 0xf3) | cTmpModeValue;
					}	
					break;
					default:	
					break;
				}
			}	
			break;	
			
			//------------------------------------------------------------------------------//
			case DSP_CARR_FRE:		//--Displaying Setting MI200 Carrier Frequency
			{	
				switch(cKey_Value)
				{	
					case ENTER:
						g_cMenu_Value = ACTIVE_CARR_FRE;
					break;
					case ESC:
						g_cMenu_Value = DSP_SETTING;
					break;
					case UP:	
						g_cMenu_Value --;
					break;
					case DOWN:
						g_cMenu_Value++;
					break;
					default:
					break;
				}
			}
			break;
			case ACTIVE_CARR_FRE:	//--Into Setting MI200 Carrier Frequency
			{	
				switch(cKey_Value)
				{	
					case ENTER:
					{
						EEPROM_Write_Data(EEAddr_PLC_Mode, g_cModCfgReg, EEPROM_TYPE);
						TOOL_Delay_MS(10);
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_CARR_FRE;
					}
					break;
					case ESC:
						g_cModCfgReg = g_cModCfgReg & 0xfc;
					break;
					case UP:	
					{	
						cTmpModeValue = (g_cModCfgReg & 0x03);
						cTmpModeValue = ( cTmpModeValue + 0x01 ) & 0x03;
						g_cModCfgReg = (g_cModCfgReg & 0xfc) | cTmpModeValue;
					}	
					break;
					case DOWN:
					{	
						cTmpModeValue = (g_cModCfgReg & 0x03);
						cTmpModeValue = ( cTmpModeValue - 0x01 ) & 0x03;
						g_cModCfgReg = (g_cModCfgReg & 0xfc) | cTmpModeValue;
					}	
					break;
					default:
					break;
				}
			}
			break;
			
			//------------------------------------------------------------------------------//
			case DSP_SS_CODE:		//--Displaying Setting MI200 Spread Spectrum Code
			{	
				switch(cKey_Value)
				{	
					case ENTER:
						g_cMenu_Value = ACTIVE_SS_CODE;	
					break;
					case ESC:
						g_cMenu_Value = DSP_SETTING;	
					break;
					case UP:			
						g_cMenu_Value--;
					break;
					case DOWN:		
						g_cMenu_Value++;	
					break;
					default:	
					break;
				}	
			}	
			break;
			case ACTIVE_SS_CODE:		//--Into Setting MI200 Spread Spectrum Code
			{	
				switch(cKey_Value)
				{	
					case ENTER:
					{
						EEPROM_Write_Data(EEAddr_PLC_Mode,g_cModCfgReg,EEPROM_TYPE);
						TOOL_Delay_MS(10);
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_SS_CODE;	
					}
					break;
					case ESC:
						g_cModCfgReg = g_cModCfgReg & 0x8f;
					break;
					case UP:			
					{	
						cTmpModeValue = (g_cModCfgReg & 0x70);
						cTmpModeValue = ( cTmpModeValue + 0x10 ) & 0x70;
						g_cModCfgReg = (g_cModCfgReg & 0x8f ) | cTmpModeValue;
					}	
					break;
					case DOWN:		
					{	
						cTmpModeValue = (g_cModCfgReg & 0x70);
						cTmpModeValue = ( cTmpModeValue - 0x10 ) & 0x70;
						g_cModCfgReg = (g_cModCfgReg & 0x8f ) | cTmpModeValue;
					}	
					break;
					default:	
					break;
				}	
			}	
			break;
			
			//------------------------------------------------------------------------------//
			case DSP_PACKET_NUM:		//--Displaying Setting Send Total Package
			{	
				switch(cKey_Value)
				{	
					case ENTER:
						g_cMenu_Value = ACTIVE_PACKET_NUM;	
					break;
					case ESC:		
						g_cMenu_Value = DSP_SETTING;	
					break;
					case UP:			
						g_cMenu_Value--;	
					break;
					case DOWN:		
						g_cMenu_Value++;	
					break;
					default:	
					break;
				}	
			}	
			break;
			case ACTIVE_PACKET_NUM:		//--Into Setting Send Total Package
			{	
				switch(cKey_Value)
				{	
					case ENTER:
					{
						//TI = 1;
						PRN_Debug_MSG(g_cDebug, "Total_pkg = %d\n", g_wTotal_Pkg);
						EEPROM_Write_Data(EEAddr_TotalPkg_H,(g_wTotal_Pkg/256),EEPROM_TYPE);
						EEPROM_Write_Data(EEAddr_TotalPkg_L,(g_wTotal_Pkg%256),EEPROM_TYPE);
						TOOL_Delay_MS(10);
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_PACKET_NUM;
					}
					break;
					case ESC:		
						g_wTotal_Pkg= 100;
					break;
					case UP:			
					{	
						if (g_wTotal_Pkg==0)		
						{	
							g_wTotal_Pkg= 1;
						}
						else if(g_wTotal_Pkg==1)	
						{	
							g_wTotal_Pkg= 100;
						}
						else if(g_wTotal_Pkg==100)	
						{	
							g_wTotal_Pkg= 200;
						}
						else if(g_wTotal_Pkg==200)	
						{	
							g_wTotal_Pkg= 500;
						}
						else 					
						{	
							g_wTotal_Pkg= 0;
						}
					}	
					break;
					case DOWN:		
					{	
						if (g_wTotal_Pkg==0)		
						{	
							g_wTotal_Pkg= 500;
						}
						else if(g_wTotal_Pkg==500)	
						{	
							g_wTotal_Pkg= 200;
						}
						else if(g_wTotal_Pkg==200)	
						{	
							g_wTotal_Pkg= 100;
						}
						else if(g_wTotal_Pkg==100)	
						{	
							g_wTotal_Pkg= 1;
						}
						else 					
						{	
							g_wTotal_Pkg= 0;
						}
					}	
					break;
					default:	
					break;
				}	
			}	
			break;
			
			//------------------------------------------------------------------------------//
			case DSP_UART_RATE:		//--Displaying Setting Uart Rate
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
						g_cMenu_Value = ACTIVE_UART_RATE;	
					break;
					case ESC:		
						g_cMenu_Value = DSP_SETTING;	
					break;		
					case UP:			
						g_cMenu_Value--;	
					break;	
					case DOWN:		
						g_cMenu_Value++;	
					break;
					default:	
					break;
				}	
			}	
			break;
			case ACTIVE_UART_RATE:		//--Into Setting Uart Rate
			{	
				switch(cKey_Value)
				{	
					case ENTER:
					{
						EEPROM_Write_Data(EEAddr_UartRate, g_cUart_Rate, EEPROM_TYPE);
						TOOL_Delay_MS(10);
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_UART_RATE;	
					}
					break;		
					case ESC:		
						g_cUart_Rate = 0x03;	
					break;		
					case UP:			
						g_cUart_Rate = ( g_cUart_Rate + 1 ) & 0x03;	
					break;	
					case DOWN:		
						g_cUart_Rate = ( g_cUart_Rate - 1 ) & 0x03;	
					break;
					default:	
					break;
				}	
			}	
			break;
			
			//------------------------------------------------------------------------------//
			case DSP_NODE_ADDR:		//--Displaying Setting Node Address
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
						g_cMenu_Value = ACTIVE_NODE_ADDR;	
					break;
					case ESC:		
						g_cMenu_Value = DSP_SETTING;	
					break;		
					case UP:			
						g_cMenu_Value--;	
					break;	
					case DOWN:		
						g_cMenu_Value++;	
					break;
					default:	
					break;
				}	
			}	
			break;
			case ACTIVE_NODE_ADDR:		//--Into Setting Node Address
			{	
				switch(cKey_Value)
				{	
					case ENTER:	
					{
						EEPROM_Write_Data(EEAddr_NodeAddr, g_cNode_Address, EEPROM_TYPE);
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_NODE_ADDR;
					}
					break;
					case ESC:
						g_cNode_Address = 0;	
					break;		
					case UP:			
						g_cNode_Address ++;	
					break;	
					case DOWN:		
						g_cNode_Address --;	
					break;
					default:	
					break;
				}	
			}	
			break;

			//------------------------------------------------------------------------------//
			case DSP_REGISTER:		//--Into Setting Register Value
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
						g_cMenu_Value = DSP_WRACD;	
					break;
					case ESC:		
						g_cMenu_Value = DSP_SETTING;	
					break;		
					case UP:			
						g_cMenu_Value--;	
					break;	
					case DOWN:		
						g_cMenu_Value ++;	
					break;
					default:	
					break;
				}	
			}	
			break;
			
			//------------------------------------------------------------------------------//
			case DSP_SW_VERSION:		//--Into Software Version Menu
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
					{	
						Clear_DSP();
						g_cMenu_Value = ACTIVE_SW_VERSION;
						EEPROM_Write_Data(EEAddr_New_Flag, 0xAA, EEPROM_TYPE);
					}	
					break;
					case ESC:		
						g_cMenu_Value = DSP_SETTING;	
					break;		
					case UP:			
						g_cMenu_Value--;	
					break;	
					case DOWN:		
						g_cMenu_Value ++;	
					break;
					default:	
					break;
				}	
			}	
			break;

			//------------------------------------------------------------------------------//
			case DSP_DEBUG_MODE:		//--Displaying Setting Debug Mode
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
					{	
						g_cMenu_Value = ACTIVE_DEBUG_MODE;	
					}	
					break;
					case ESC:		
						g_cMenu_Value = DSP_SETTING;	
					break;		
					case UP:			
						g_cMenu_Value--;	
					break;	
					case DOWN:		
						g_cMenu_Value = DSP_DATA_RATE;	
					break;
					default:	
					break;
				}	
			}	
			break;
			case ACTIVE_DEBUG_MODE:
			{	
				switch(cKey_Value)
				{	
					case ENTER:	
					{
						EEPROM_Write_Data(EEAddr_Debug, g_cDebug, EEPROM_TYPE);
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_DEBUG_MODE;	
					}
					break;
					case ESC:
						g_cDebug = 0x01;	
					break;		
					case UP:case DOWN:	
					{
						if(g_cDebug == 0x01)		g_cDebug = 0x00;
						else		g_cDebug = 0x01;
					}
					break;
					default:	
					break;
				}	
			}	
			break;
				
			
			//-------------------------         Register Value            ----------------------------//
			//------------------------------------------------------------------------------//
			case DSP_WRACD:		//--Displaying Setting WRACD(0x0A)
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
						g_cMenu_Value = ACTIVE_WRACD;	
					break;
					case ESC:		
						g_cMenu_Value = DSP_REGISTER;	
					break;		
					case UP:			
						g_cMenu_Value = DSP_WRTH1;	
					break;	
					case DOWN:		
						g_cMenu_Value ++;	
					break;
					default:	
					break;
				}	
			}	
			break;
			case ACTIVE_WRACD:		//--Into Setting WRACD
			{	
				switch(cKey_Value)
				{	
					case ENTER:
					{
						EEPROM_Write_Data(EEAddr_WRACD, g_cWRACD, EEPROM_TYPE);
						PLC_Write_Reg(PLCAddrWRACD, g_cWRACD);	
						g_bRefresh_DSP_Flag = 1;
						g_cMenu_Value = DSP_WRACD;
					}
					break;
					case ESC:		
						g_cWRACD= 0x00;	
					break;		
					case UP:			
						g_cWRACD++;	
					break;	
					case DOWN:		
						g_cWRACD--;
					break;
					default:	
					break;
				}	
			}	
			break;
			
			//------------------------------------------------------------------------------//
			case DSP_WRTDR:		//--Displaying Setting WRTDR(0x0B)
			{	
				switch(cKey_Value)
				{	
					case ENTER:		
						g_cMenu_Value = ACTIVE_WRTDR;	
					break;
					case ESC:		

⌨️ 快捷键说明

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