Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
Diff: main.c
- Revision:
- 50:0e3d47f18a50
- Parent:
- 49:53277d871197
- Child:
- 51:81f47b817071
--- a/main.c Thu Feb 11 02:55:35 2016 +0000 +++ b/main.c Thu Feb 11 14:36:33 2016 +0000 @@ -42,48 +42,8 @@ unsigned int paramV; -void Init_Pin() -{ - Gyro.PinRegOld = 0xffffffff; - Gyro.PinReg = 0; // всЁ выключенно - PinCheng(); - - - - //LPC_PINCON->PINSEL0 = (0x00<<28); // а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать - //LPC_PINCON->PINMODE0 = (0x3<<28); - LPC_GPIO1->FIODIR |= (1<<30); - LPC_GPIO2->FIODIR |= (1<<7); - //Конфигурирование сигнала поджига - //LPC_PINCON->PINSEL0 &= ~(3<<8); //e. P0.4 is GPIO pin (запись ( 00 ) в 9:8 бит PISEL0 выбор P0.4 как GPIO) - //LPC_PINCON->PINMODE0 |= (3<<8); //e. P0.4 is GPIO pin (запись ( 11 ) в 9:8 бит PINMODE0 "для включения подтягивающего резистора") - LPC_GPIO0->FIODIR |= (1<<4); //e. P0.4 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.4 как выход) - //e. P0.4 is output (запись ( 1 ) в 5 бит CLR устанавливаем на P0.4 низкий уровень сигнала) - //LPC_PINCON->PINSEL3 = (0x00<<18); //e. P1.25 is GPIO pin - //LPC_PINCON->PINMODE3 |= (3<<18); //e. P1.25 (включениe подтягивающего резистора") - LPC_GPIO1->FIODIR |= (1<<25); //e. P0.5 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход) - LPC_GPIO1->FIOCLR |= (1<<25); - - //LPC_PINCON->PINSEL3 = (0x00<<24); //e. P1.28 is GPIO pin - //LPC_PINCON->PINMODE3 |= (3<<24); //e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0 "для включения подтягивающего резистора") - LPC_GPIO1->FIODIR |= (1<<28); //e. P1.28 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход) - LPC_GPIO1->FIOCLR |= (1<<28); -///иНИциализация подсветки - // LPC_PINCON->PINSEL2 = (0x00<<24); //e. P2.12 is GPIO pin - //LPC_PINCON->PINMODE3 |= (3<<24); //e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0 "для включения подтягивающего резистора") - LPC_GPIO2->FIODIR |= (1<<12); //e. P1.28 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход) - LPC_GPIO2->FIOCLR |= (1<<12); - - - - - - - -} - @@ -138,7 +98,7 @@ - DMA_Init(); // Инициализация DMA + //DMA_Init(); // Инициализация DMA не используем FlashDMA_Init(); // Загрузка параметров с флэш SystemCoreClockUpdate1(); // расчет тактовой частоты процессора перед инициализацией UART - 100MHz @@ -158,7 +118,7 @@ LoadFlashParam(FromFLASH); //загрузка параметров. - UART_DMA_Init(); //инициализация DMA для UART. + //UART_DMA_Init(); //инициализация DMA для UART.//не используем G_Photo_Init(); //инициализация интерфейса I2C для фотодетектора. Out_G_photo(60, 60); //запись в буфер мастера принятые от функции данные (60,60) и установка флага старта передачи и занятой шины. // WDTInit(); @@ -190,6 +150,7 @@ Time1Hz = 0; Clock1Hz = 0; Gyro.Discharg = StartDischarg; + Gyro.BackLight = StartBackLight; Pulse_8Point = 0; Pulse_16Point = 0; @@ -218,7 +179,7 @@ - do { //основной цикл. + while ( 1 ) { //основной цикл. Concol (); // Проврка 0 консоли (вход и выход) Concol1 (); // Проврка 0 консоли (вход и выход) if (OutBufConCount) OutBufConCount--; @@ -244,21 +205,24 @@ if (OutBufCon1Count) OutBufCon1Count--; if (Event1Hz) {// событие раз в 1 Гц - Clock1Hz++; + Event1Hz--; + Clock1Hz++; //============================= блок управления поджигом, сделанно через сдвиг====================== if (Gyro.Discharg) { //Проверка поджига + Gyro.Discharg = Gyro.Discharg >> 1; if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD; else Gyro.PinReg &= ~PinRegBitD; - Gyro.Discharg = Gyro.Discharg >> 1; + } //============================= блок управления подсветкой, сделанно через сдвиг====================== if (Gyro.BackLight) { //Проверка подсветки + Gyro.BackLight = Gyro.BackLight >> 1; if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL; - Gyro.BackLight = Gyro.BackLight >> 1; + } // CMD_Rate(); - WriteCon("."); //Так просто выдавать в секунду 1 байт ,что гирос жив + // WriteCon("."); //Так просто выдавать в секунду 1 байт ,что гирос жив /* for (y = 0; y < 32; y++ ){ sprintf(Time," <%05d> ",Buff_32Point[y]); @@ -322,140 +286,8 @@ // paramV=TakeParam(1); - - if (0) // временно отключил олгоритм Сергея - if (LPC_PWM1->IR & 0x0001) { // Если в регистре прерываний ШИМ1 (регистр PWM1IR) есть влаг прерывания совпадения счетчика с МАТСН (lim0 ?) то: - - /* ResetCS(ADC); //prepare ADC for sampling - SetDAC(DAC); - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - SetCS(ADC); //start ADC sampling - ResetDAC(DAC); //start DAC prepearing for writing - */ -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - secPuls++; - tmpSec++; - mSec++; - - i1++; - if(i1>10000) - //if(CountV31>30) - { - WriteCon("."); - i1=0; - /* - SendToBuffStr("\n\r"); - // if (Buff_ADC_1 [y] > 65535)SendToBuffStr(" 0 "); else SendToBuffStr(" 1 "); - sprintf (BuffTemp,"<%05d> <%05d> <%05d> <%05d> <%05d>", Temp_AMP>>5,Temp_ADC_2>>5,Temp_ADC_3>>5,Temp_ADC_4>>5,Temp_ADC_5>>5); - // sprintf (BuffTemp,"<%07d> <%07d> <%07d> <%07d> <%07d>", Spi.ADC1,Spi.ADC2,Spi.ADC3,Spi.ADC4,Spi.ADC5); - SendToBuffStr(BuffTemp); - */ - /* - WriteConByte (Gyro.T_Vib&0xff00); - WriteConByte (Gyro.T_Vib&0x00ff); - WriteConByte (Gyro.T_Vib); - */ - /* - - for (y = 0; y < 32; y++ ) - { - - WriteCon(BuffTemp); - } WriteCon("\n\r"); - - */ - /* - Gyro.T_Vib=((7680000*16/Gyro.Frq)*4096); - th= Gyro.T_Vib&0xff00; - tt= Gyro.T_Vib&0x00ff; - sprintf(BuffTemp,"<%07d >",( (Gyro.T_Vib&0xff00))); - SendToBuffStr(BuffTemp); - - sprintf(BuffTemp,"<%07d >",( ( Gyro.T_Vib&0x00ff))); - SendToBuffStr(BuffTemp); - - CuruAngleOld=CuruAngle;*/ - // Spi.ADC1=Spi.ADC1*0.000061; - - - - - /* - - sprintf(BuffTemp,"\n\r<%05d><%05d><%05d><%05d><%05d>",Spi.ADC1,Spi.ADC2,Spi.ADC3,Spi.ADC4,Spi.ADC5); - SendToBuffStr(BuffTemp); - - */ - - /* sprintf(BuffTemp,"<%d>",(FrecTemp)); - SendToBuffStr(BuffTemp); - for (y = 0; y < 32; y++ ) - { - sprintf(BuffTemp," <%07d>", (Buff_16PointD [y]-65535)); - SendToBuffStr(BuffTemp); - } */ - - } - - - - - - - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - - - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - - - Curr_Cnt_Vib = LPC_QEI->POS; // записать в переменную Curr_Cnt_Vib текущее положение Энкодера. (текущее количество импульсов) - Latch_Event(); //определение защелки - - clc_Pulses(); // счетчик импульсов. RATE_REPER_OR_REFMEANDR или RATE_VIBRO_1 - - - //ADC_Input(); // проверка флагов заполнения буфера и четение Thermo1, Thermo2, HF_out в масив Input.ArrayIn[n]. - //DAC_ADC_Exchange();// проверка флагов заполнения буфера и зпись в ЦАПы. - ServiceTime();//секундный таймер. - clc_ThermoSensors();//расчет средней температуры за секунду - clc_HFO(); //расчет значения для передачи в контур ГВЧ(на цап). - - clc_PLC(); - // clc_Dith_regulator(); - clc_OutFreq_regulator(); - Output.Str.WP_sin = clc_WP_sin(); - contrl_GLD(); - G_Photo_Exchange(); - // Output.Str.T_Vibro = paramV*48; - - - Line_1_Rcv(); - decode_CMD(); - transm_DAT(); - //îòêëþ÷åíèå ïîäæèãà. - - -// data_Rdy &= ~RESET_PERIOD; - - - LPC_PWM1->IR = 0x0001; //e. clear interrupt flag - LPC_GPIO2->FIOCLR |= 0x0000004; // turn off the LED -// WDTFeed(); -//SPI_Exchange(); - - } - - } while ( 1 ); // main infinie loop + + } // main infinie loop } /******************************************************************************