#include "..\Lib\8000a.h" #include "..\Lib\MBRTU.h" #include "showled.h" unsigned long sw_Enter; int iLED_Timeout=2000; int iStep=0; union udata{ int iData; char cData[2]; } c; int ShowLED(int iPort) { if((GetTimeTicks()-sw_Enter)>iLED_Timeout) { //printCom1("%d %ld mode=%d\n\r", iPort, ComData[iPort-1].baud,mtModbusPort[iPort].EnableMode); Show5DigitLedWithDot(1,iPort); if(iStep==0) { switch(ComData[iPort-1].baud) { case 115200L: Show5DigitLed(2,1); Show5DigitLed(3,1); Show5DigitLed(4,5); Show5DigitLed(5,2); break; case 57600L: Show5DigitLed(2,16); Show5DigitLed(3,5); Show5DigitLed(4,7); Show5DigitLed(5,6); break; case 38400L: Show5DigitLed(2,16); Show5DigitLed(3,3); Show5DigitLed(4,8); Show5DigitLed(5,4); break; case 19200L: Show5DigitLed(2,16); Show5DigitLed(3,1); Show5DigitLed(4,9); Show5DigitLed(5,2); break; case 9600L: Show5DigitLed(2,16); Show5DigitLed(3,16); Show5DigitLed(4,9); Show5DigitLed(5,6); break; case 4800L: Show5DigitLed(2,16); Show5DigitLed(3,16); Show5DigitLed(4,4); Show5DigitLed(5,8); break; case 2400L: Show5DigitLed(2,16); Show5DigitLed(3,16); Show5DigitLed(4,2); Show5DigitLed(5,4); break; case 1200L: Show5DigitLed(2,16); Show5DigitLed(3,16); Show5DigitLed(4,1); Show5DigitLed(5,2); break; } } else if(iStep==1) { Show5DigitLed(2,16); c.cData[0]=ComData[iPort-1].databit; c.cData[1]=0; Show5DigitLed(3,c.iData); c.cData[0]=ComData[iPort-1].parity; Show5DigitLed(4,c.iData); c.cData[0]=ComData[iPort-1].stopbit; Show5DigitLed(5,c.iData); } else if(iStep==2) { switch(mtModbusPort[iPort].EnableMode) { case _Programming://PRO Show5DigitLed(2,16); Show5DigitLedSeg(3,103); Show5DigitLedSeg(4,119); Show5DigitLedSeg(5,126); break; case _ModbusRTU_Slave://RTU Show5DigitLedSeg(2,119); Show5DigitLedSeg(3,112); Show5DigitLedSeg(4,64); Show5DigitLedSeg(5,62); break; case _Debug://DEB Show5DigitLed(2,16); Show5DigitLed(3,13); Show5DigitLed(4,14); Show5DigitLed(5,11); break; case _ModbusASCII_Slave://ASC Show5DigitLed(2,16); Show5DigitLed(3,10); Show5DigitLed(4,5); Show5DigitLed(5,12); break; default: Set_COMEnableMode(iPort, _ModbusRTU_Slave); mtModbusPort[iPort].EnableMode=_ModbusRTU_Slave; break; } } iStep++; if(iStep==3) { iStep=0; iPort++; } sw_Enter=GetTimeTicks(); } return iPort; }