📄 key.c
字号:
g_cMenu_Value = DSP_REGISTER;
break;
case UP:
g_cMenu_Value --;
break;
case DOWN:
g_cMenu_Value ++;
break;
default:
break;
}
}
break;
case ACTIVE_WRTDR: //--Into Setting WRTDR
{
switch(cKey_Value)
{
case ENTER:
{
EEPROM_Write_Data(EEAddr_WRTDR, g_cWRTDR, EEPROM_TYPE);
PLC_Write_Reg(PLCAddrWRTDR, g_cWRTDR);
g_bRefresh_DSP_Flag = 1;
g_cMenu_Value = DSP_WRTDR;
}
break;
case ESC:
g_cWRTDR= 0x00;
break;
case UP:
g_cWRTDR++;
break;
case DOWN:
g_cWRTDR--;
break;
default:
break;
}
}
break;
//------------------------------------------------------------------------------//
case DSP_WRTHO: //--Displaying Setting WRTH0(0x0C)
{
switch(cKey_Value)
{
case ENTER:
g_cMenu_Value = ACTIVE_WRTHO;
break;
case ESC:
g_cMenu_Value = DSP_REGISTER;
break;
case UP:
g_cMenu_Value --;
break;
case DOWN:
g_cMenu_Value ++;
break;
default:
break;
}
}
break;
case ACTIVE_WRTHO: //--Into Setting WRTH0
{
switch(cKey_Value)
{
case ENTER:
{
EEPROM_Write_Data(EEAddr_WRTH0, g_cWRTH0, EEPROM_TYPE);
PLC_Write_Reg(PLCAddrWRTH0, g_cWRTH0);
g_bRefresh_DSP_Flag = 1;
g_cMenu_Value = DSP_WRTHO;
}
break;
case ESC:
g_cWRTH0 = 0x58;
break;
case UP:
g_cWRTH0 ++;
break;
case DOWN:
g_cWRTH0 --;
break;
default:
break;
}
}
break;
//------------------------------------------------------------------------------//
case DSP_WRTH1: //--Displaying Setting WRTH1(0x0D)
{
switch(cKey_Value)
{
case ENTER:
g_cMenu_Value = ACTIVE_WRTH1;
break;
case ESC:
g_cMenu_Value = DSP_REGISTER;
break;
case UP:
g_cMenu_Value = DSP_WRTHO;
break;
case DOWN:
g_cMenu_Value = DSP_WRACD;
break;
default:
break;
}
}
break;
case ACTIVE_WRTH1: //--Into Setting WRTH1
{
switch(cKey_Value)
{
case ENTER:
{
EEPROM_Write_Data(EEAddr_WRTH1, g_cWRTH1, EEPROM_TYPE);
PLC_Write_Reg(PLCAddrWRTH1, g_cWRTH1);
g_bRefresh_DSP_Flag = 1;
g_cMenu_Value = DSP_WRTH1;
}
break;
case ESC:
g_cWRTH1 = 0x0A;
break;
case UP:
g_cWRTH1 ++;
break;
case DOWN:
g_cWRTH1 --;
break;
default:
break;
}
}
break;
//------------------------- Active status handle --------------------------//
//------------------------------------------------------------------------------//
case ACTIVE_TRANS: //--Transmitter Mode
{
if(cKey_Value == ESC)
{
if(g_cTrans_Step == 0)
{
g_cMenu_Value = DSP_TRANSMITTER;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg|0x80);
LED_TX = 1;
LED_RX = 1;
TX_SWITH = 0;
}
else
{
g_bESC_Bit = 1;
}
}
}
break;
//------------------------------------------------------------------------------//
case ACTIVE_RECEIVER: //--Receiver Mode
{
if(cKey_Value == ESC)
{
g_cMenu_Value = DSP_RECEIVER;
LED_TX = 1;
LED_RX = 1;
LED_BUSY = 1;
LED_CORRECT = 1;
}
}
break;
//------------------------------------------------------------------------------//
case ACTIVE_INTER_TRANS: //--Interactive Transmitter Mode
{
if(cKey_Value == ESC)
{
g_cMenu_Value = DSP_INTER_TRANS;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg|0x80);
LED_TX = 1;
LED_RX = 1;
LED_BUSY = 1;
LED_CORRECT = 1;
}
}
break;
//------------------------------------------------------------------------------//
case ACTIVE_INTER_RECV: //--Interactive Receiver Mode
{
if(cKey_Value == ESC)
{
g_cMenu_Value = DSP_INTER_RECV;
LED_TX = 1;
LED_RX = 1;
LED_BUSY = 1;
LED_CORRECT = 1;
}
}
break;
//------------------------------------------------------------------------------//
case ACTIVE_COM_SETTING:
{
if(cKey_Value == ESC)
{
g_cMenu_Value = DSP_COM_SETTING;
Config_Param_Completed = FLAG_YES;
}
}
break;
//------------------------------------------------------------------------------//
case ACTIVE_COM_RECVING:
{
if(cKey_Value == ESC)
{
g_cMenu_Value = DSP_COM_RECVING;
Config_Param_Completed = FLAG_YES;
}
}
break;
//------------------------------------------------------------------------------//
case ACTIVE_SW_VERSION:
{
if(cKey_Value == ESC)
{
g_cMenu_Value = DSP_SW_VERSION;
}
}
break;
}
g_bRefresh_DSP_Flag = 1;
}
//------------------------------When The Key Value = 0xff---------------------------------//
else
{
if(g_cMenu_Value == ACTIVE_TRANS) //--Transmitter Mode
{
if((g_wCurrent_Pkg < g_wTotal_Pkg) || (g_wTotal_Pkg == 0))
{
if((g_cTrans_Step != 6) && (cKey_Value == 0xff))
{
PLC_Transmit_Process( &g_Send_Buf[g_cSend_Byte_Cnt] );
}
else
{
g_cTrans_Step = 0;
g_wCurrent_Pkg++ ;
DSP_Show(0x80,ST_sending);
DSP_Data_Format(g_wCurrent_Pkg);
DSP_Show(0x8c,"Pkgs");
DSP_Show(0xc0,"@");
DSP_DataRate();
DSP_Show(0xc5,"bps");
DSP_Write_Data('/');
DSP_Frequency(0xca);
/*
for(cForCnt = 0; cForCnt < 90; cForCnt++)
{
TOOL_Delay_MS(20);
if(Read_Key() == ESC)
{
g_cMenu_Value = DSP_TRANSMITTER;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg|0x80);
LED_TX = 1;
LED_RX = 1;
TX_SWITH = 0;
}
}
//*/
bMI200_RX_TXn = Status_TRAN;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg & 0x7f);
if(g_bESC_Bit == 1)
{
g_cMenu_Value = DSP_TRANSMITTER;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg|0x80);
LED_TX = 1;
LED_RX = 1;
TX_SWITH = 0;
}
}
}
}
else if(g_cMenu_Value == ACTIVE_INTER_TRANS) //--Interactive Transmitter Mode
{
if(g_bInteract_Bit == 0)
{
if((g_wCurrent_Pkg < g_wTotal_Pkg) || ( g_wTotal_Pkg==0 ))
{
if(g_cTrans_Step != 6)
{
PLC_Transmit_Process( &g_Send_Buf[g_cSend_Byte_Cnt] );
}
else
{
g_wCurrent_Pkg++ ;
g_Send_Buf[3] = (BYTE)((g_wCurrent_Pkg + 1)>>8); //Current Package Low Byte
g_Send_Buf[4] = (BYTE)(g_wCurrent_Pkg + 1); //Current Package Hign Byte
DSP_Show(0x80,"T");
DSP_Data_Format(g_wCurrent_Pkg);
g_bInteract_Bit = 1;
g_wError_Pkgs_Num = 0;
g_cRecByte_H = 0;
g_cRecByte_L = 0;
g_cRecv_Step = 0x00;
bMI200_RX_TXn = Status_RECV; //Change to transmit mode
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg|0x8c); //Write mode configuration,
cSend_Timeout_Cnt = 2;
}
}
}
else
{
if ((cSend_Timeout_Cnt > 0) && (g_cRecv_Step != 4))
{
PLC_Receive_Process( &g_Recv_Buf[g_cRecv_Byte_Cnt] );
}
else
{
if((g_Recv_Buf[0]=='R') && (g_Recv_Buf[1]=='e') && (g_Recv_Buf[2]=='c'))
{
if( g_bRecv_Pkg_Flag == 1)
{
g_wRecv_Pkgs_Num++;
}
if(cSend_Timeout_Cnt > 0)
{
iRec_pkg_Num = ((WORD)g_Recv_Buf[3])*256 + g_Recv_Buf[4];
if(g_bError_Pkg_Flag != 1)
{
g_wInter_Corr_Num++;
}
}
}
DSP_Show(0x86,"R");
DSP_Data_Format(iRec_pkg_Num);
DSP_Write_Data(0x20);
DSP_Char_Format((iRec_pkg_Num/g_wCurrent_Pkg)*100);
DSP_Write_Data('%');
DSP_Show(0xc0,"R");
DSP_Data_Format(g_wRecv_Pkgs_Num);
DSP_Show(0xc6,"C");
DSP_Data_Format(g_wInter_Corr_Num);
DSP_Write_Cmd(0xcc);
DSP_Char_Format((g_wInter_Corr_Num / g_wCurrent_Pkg)*100);
DSP_Write_Data('%');
g_cTrans_Step = 0x00;
bMI200_RX_TXn = Status_TRAN;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg & 0x7f);
g_bInteract_Bit = 0;
}
}
}
else if(g_cMenu_Value == ACTIVE_RECEIVER) //--Receiver Mode
{
if (g_cRecv_Step != 0x04)
{
PLC_Receive_Process( &g_Recv_Buf[g_cRecv_Byte_Cnt] );
}
else
{
g_cRecv_Step = 0x00;
DSP_Write_Cmd(0xc0);
DSP_Show(0xc0,"Rec");
if( g_bRecv_Pkg_Flag == 1)
{
g_wRecv_Pkgs_Num++;
}
DSP_Data_Format(g_wRecv_Pkgs_Num);
DSP_Write_Data('/');
if( g_bError_Pkg_Flag == 1)
{
g_wError_Pkgs_Num++;
}
DSP_Data_Format(g_wError_Pkgs_Num);
DSP_Show(0xcc,"Err");
g_bRecv_Pkg_Flag = 0;
g_bError_Pkg_Flag = 0;
g_cRecByte_H = 0;
g_cRecByte_L = 0;
g_cRecv_Step = 0x00;
}
}
else if(g_cMenu_Value == ACTIVE_INTER_RECV) //--Interactive Receiver Mode
{
if(g_bInteract_Bit == 0)
{
if (g_cRecv_Step != 0x04)
{
PLC_Receive_Process( &g_Recv_Buf[g_cRecv_Byte_Cnt] );
}
else
{
if((g_Recv_Buf[0]=='I') && (g_Recv_Buf[1]=='n') && (g_Recv_Buf[2]=='t'))
{
g_bInteract_Bit = 1;
if( g_bRecv_Pkg_Flag == 1)
{
g_wRecv_Pkgs_Num++;
}
DSP_Show(0x80,"PkgNum:");
iRec_pkg_Num = ((WORD)g_Recv_Buf[3])*256 + g_Recv_Buf[4];
DSP_Data_Format(iRec_pkg_Num);
if(iRec_pkg_Num < g_wRecv_Pkgs_Num)
{
g_wRecv_Pkgs_Num = 1;
g_wError_Pkgs_Num = 0;
}
if( g_bError_Pkg_Flag == 1)
{
g_wError_Pkgs_Num++;
}
iCorret_pkg_Num = g_wRecv_Pkgs_Num - g_wError_Pkgs_Num;
DSP_Write_Cmd(0xc0);
DSP_Show(0xc0,"Corr:");
DSP_Data_Format(iCorret_pkg_Num);
DSP_Write_Data(' ');
DSP_Write_Data(' ');
DSP_Write_Data(' ');
DSP_Char_Format((iCorret_pkg_Num/iRec_pkg_Num)*100);
DSP_Write_Data('%');
g_cSend_Data_Length = 6;
g_Send_Buf[0] = 'R';
g_Send_Buf[1] = 'e';
g_Send_Buf[2] = 'c';
g_Send_Buf[3] = (unsigned char)(iCorret_pkg_Num / 256);
g_Send_Buf[4] = (unsigned char)(iCorret_pkg_Num % 256);
g_Send_Buf[5] = 'G';
g_wCurrent_Pkg = 0;
g_cTrans_Step = 0x00;
bMI200_RX_TXn = Status_TRAN;
PLC_Write_Reg(PLCAddrWRMR, g_cModCfgReg & 0x7f);
}
else
{
g_cRecv_Step = 0x00;
}
}
}
else
{
if(g_cTrans_Step != 6)
{
PLC_Transmit_Process( &g_Send_Buf[g_cSend_Byte_Cnt] );
}
else
{
g_bRecv_Pkg_Flag = 0;
g_bError_Pkg_Flag = 0;
g_cRecByte_H = 0;
g_cRecByte_L = 0;
g_cRecv_Step = 0x00;
bMI200_RX_TXn = Status_RECV; //Change to receive mode
PLC_Write_Reg(PLCAddrWRMR,g_cModCfgReg|0x8c) ; //Write mode configuration,
g_bInteract_Bit = 0;
}
}
}
}
}
/***********************************************************************************
** End Of File **
***********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -