Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
Diff: main.c
- Revision:
- 52:30f2e52a493f
- Parent:
- 51:81f47b817071
- Child:
- 53:7d25cd871094
--- a/main.c Thu Feb 11 20:26:23 2016 +0000 +++ b/main.c Thu Feb 11 21:44:10 2016 +0000 @@ -28,57 +28,55 @@ ** Main Function main() ******************************************************************************/ extern uint32_t CMD_Mode; - - +unsigned int secPuls; +float DACF, K_DAC; - -//int y = 0; -unsigned int secPuls,CountBI,CmmandIn,tt,th; +int main (void) +{ + Gyro.SOC_Out=0xDD; + Gyro.Firmware_Version =0x15; //версия программы + Gyro.GLD_Serial = 0x20; //серийный номер + Gyro.My_Addres = 0; //адрес глд + Gyro.Discharg = StartDischarg; + Gyro.BackLight = StartBackLight; + + Spi.DAC_A = 0x7fff; + Spi.DAC_B = 0x7fff; - - - - + K_DAC=65535.0/(65535.0+(deltaDAC+deltaDAC/2)); + K_DAC=0.8; + secPuls =0; + Pulse_midl = 0; + PulseHalf = 0; + CuruAngle = 0; + + + Event1Hz = 0; + Event1K = 0; + Event100K = 0; + EventVibro = 0; + Time1K = 0; + Time100K = 0; + Time1Hz = 0; + Pulse_8Point = 0; + Pulse_16Point = 0; + Pulse_32Point = 0; -int flag=0, TIME=0,t=0, Sec=0,tmpSec=0,SEC=0, mSec=0; -int tempsec=0; -float DACF, K_DAC; + Temp_AMP=0; + Temp_ADC_2=0; + Temp_ADC_3=0; + Temp_ADC_4=0; + Temp_ADC_5=0; -int main (void) -{ - - - - Gyro.SOC_Out=0xDD; - Gyro.Firmware_Version =0x15; //версия программы - Gyro.GLD_Serial = 0x20; //серийный номер - Gyro.My_Addres = 0; //адрес глд - - - - K_DAC=65535.0/(65535.0+(deltaDAC+deltaDAC/2)); - K_DAC=0.8; - - - Gyro.Discharg = 0x7; // инициализация время поджига 3 сек (в событии 1HZ) - Gyro.BackLight=0x3ff;// инициализация время подсветки 10 сек (в событии 1HZ) - secPuls =0; - Pulse_midl = 0; - PulseHalf = 0; - CuruAngle = 0; - Spi.DAC_A = 0x7fff; - Spi.DAC_B = 0x7fff; //инициализация SystemInit1(); // Инициализация контроллера: установка тактовых частот - - Init_Pin(); ///* @@ -136,30 +134,16 @@ enable_timer2(); close_all_loops(); + LPC_GPIO0->FIOCLR = (1<<5); - LPC_GPIO0->FIOCLR = (1<<5); + + + - Event1Hz = 0; - Event1K = 0; - Event100K = 0; - EventVibro = 0; - Time1K = 0; - Time100K = 0; - Time1Hz = 0; - Clock1Hz = 0; - Gyro.Discharg = StartDischarg; - Gyro.BackLight = StartBackLight; + - Pulse_8Point = 0; - Pulse_16Point = 0; - Pulse_32Point = 0; - Temp_AMP=0; - Temp_ADC_2=0; - Temp_ADC_3=0; - Temp_ADC_4=0; - Temp_ADC_5=0; for (int i = 0; i < 16; i++ ) { @@ -169,7 +153,7 @@ Buff_ADC_4[i] = 0; Buff_ADC_5[i] = 0; } - for (int i = 0; i < 32; i++ ) { + for (int i = 0; i < 32; i++ ) { Buff_16Point[i] = 0x00; Buff_8Point[i] = 0x00; @@ -193,65 +177,58 @@ Concol1 (); // Проврка 0 консоли (вход и выход) if (OutBufConCount) OutBufConCount--; + if (ReadCon (Time)) { - if (ReadCon (Time)) { if (Time[0] == 'h') { // если ввели буквц h то выдать подсказку. сделанно через принф ОЧЕНЬ плохо в работе не использовать sprintf(Time,"\r\nCompiled: %s %s.",__DATE__, __TIME__ ); //Подготовка даты и времени компиляции WriteCon(Time); - sprintf(Time,"--%d.%3.d.%2.d.",Clock1Hz,Time1K,Time100K); //Временно выдачпа временни из трех чисел + sprintf(Time,"--%d.%3.d.%2.d.",Time1Hz,Time1K,Time100K); //Временно выдачпа временни из трех чисел WriteCon(Time); - + + } + if (Time[0] == 'D') { + Gyro.Discharg = StartDischarg; } - - if (Time[0] == 'D'){Gyro.Discharg = StartDischarg;} - if (Time[0] == 'L'){Gyro.BackLight = StartBackLight;} - if (Time[0] == '1'){sprintf(Time,"\r\n");for (int i = 0; i < 32; i++ )sprintf((Time + i * 9)," <%05d> ",Buff_32Point[i]); WriteCon(Time);} // выдача технологическая - - - - - - + if (Time[0] == 'L') { + Gyro.BackLight = StartBackLight; + } + if (Time[0] == '1') { // выдача технологическая + sprintf(Time,"\r\n"); + for (int i = 0; i < 32; i++ )sprintf((Time + i * 9)," <%05d> ",Buff_32Point[i]); + WriteCon(Time); + } } - if (OutBufCon1Count) OutBufCon1Count--; if (Event1Hz) {// событие раз в 1 Гц - Event1Hz--; - Clock1Hz++; + Event1Hz--; //============================= блок управления поджигом, сделанно через сдвиг====================== if (Gyro.Discharg) { //Проверка поджига Gyro.Discharg = Gyro.Discharg >> 1; if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD; else Gyro.PinReg &= ~PinRegBitD; - + } //============================= блок управления подсветкой, сделанно через сдвиг====================== if (Gyro.BackLight) { //Проверка подсветки - Gyro.BackLight = Gyro.BackLight >> 1; + Gyro.BackLight = Gyro.BackLight >> 1; if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL; - + } - // CMD_Rate(); - // WriteCon("."); //Так просто выдавать в секунду 1 байт ,что гирос жив - /* - for (y = 0; y < 32; y++ ){ - sprintf(Time," <%05d> ",Buff_32Point[y]); - }sprintf(Time,"\r\n"); - WriteCon(Time);*/ - + // CMD_Rate(); + // WriteCon("."); //Так просто выдавать в секунду 1 байт ,что гирос жив + + + + } - - - - - if (Event1K) {// событие раз в 1 кГц Event1K --; Time1K++; if (Time1K == 1000) { Time1K = 0; Event1Hz ++; + Time1Hz++; } @@ -259,10 +236,10 @@ if (Event100K) { // событие раз в 100 кГц Event100K --; Time100K++; - + PinCheng(); // чтение регистра состояния выводов(вибро, полсветка, поджиг, LED) и управление выводами. - if (OutBufCon1Count) OutBufCon1Count--; // обратный отсчет для управления ногой и формирование задержки на выдачу - if (Time100K == 100) { + if (OutBufCon1Count) OutBufCon1Count--; // обратный отсчет для управления ногой и формирование задержки на выдачу + if (Time100K == 100) { Time100K = 0; Event1K ++; } @@ -273,30 +250,19 @@ Read_CMD(); // VibroOut(); - - if(Time_1kHz>100) { +//CMD_Rate(); - SEC++; - if(Rate_Flag==1 && SEC>500) { - SEC-=500; -// CMD_Rate(); - } - - Time_1kHz-=100; + - } + ButtonLightUP(); //Device_blk.Str. -// TakeFromBuff(); - - // paramV=TakeParam(1); - - - - } // main infinie loop +// TakeFromBuff(); + // paramV=TakeParam(1); + }// main infinie loop } /******************************************************************************