Dmitry Kovalev
/
LG2
fork
Fork of LG by
Diff: SPI.c
- Revision:
- 205:775d54fdf646
- Parent:
- 197:7a05523bf588
- Child:
- 207:d1ce992f5d17
diff -r e7e9762bf609 -r 775d54fdf646 SPI.c --- a/SPI.c Fri Nov 25 06:22:37 2016 +0000 +++ b/SPI.c Mon Dec 19 14:08:31 2016 +0000 @@ -254,7 +254,7 @@ - +/* void PlcRegul(void) //Программа расчет напряжения для модулятора(//выполняется 1.25 микросек.) @@ -284,12 +284,12 @@ Gyro.PLC_Delta = PLC_In - Gyro.PLC_Old; //узнаем приращение Gyro.PLC_DeltaADD = Gyro.PLC_Delta * Gyro.PLC_ADC_DOld; //приращение с учетом знака (и количества) прошлого приращения Gyro.PLC_Old = PLC_In; //запоминание значения - if(Gyro.flagGph_W) + if(Gyro.flagGph_W) { AD_MAX=0; Gyro.flagGph_W--; Gyro.PLC_Error2Mode=3; - } //если изменился коэфициент усиления ФД //3600 (размер моды порядка 3000) + } //если изменился коэфициент усиления ФД //3600 (размер моды порядка 3000) if((Gyro.PLC_Lern < 150) && (Gyro.PLC_Error2Mode != 0)) { //пробигаем по нескольким значениям цап(60*0х3с=0хВВ8) для определения максимальной амплитуды. @@ -315,7 +315,7 @@ Gyro.PlC_MaxD=(unsigned int)(AD_MAX-PLC_In); //ищем разницу между желаемой и действительной амплитудами. - if(Gyro.ModJump==1) { ///прыжок с моды на моду. (-->) + if(Gyro.ModJump==1) { ///прыжок с моды на моду. (-->) Gyro.OldCuruAngle = Gyro.CuruAngle; Gyro.ModJump=0; Spi.DAC_B += 4300; @@ -362,11 +362,11 @@ tempDac = Gyro.PLC_ADC_DOld * (tempDac); //используется только для выдачи flagmod=2; } - /* else if(Gyro.PlC_MaxD<(2<<17)) { //режим если дельта равна 0;Gyro.ModJump + else if(Gyro.PlC_MaxD<(2<<17)) { //режим если дельта равна 0; tempDac=2; Spi.DAC_B += Gyro.PLC_ADC_DOld * tempDac; flagmod=0; - } */ + } else { tempDac=2; // 1 режим регулирования Spi.DAC_B += Gyro.PLC_ADC_DOld *tempDac; @@ -385,19 +385,19 @@ //////////лог////////// /////////////////////// if(Gyro.LogPLC==1) { - // LoopOn + sprintf((Time),"%d %d %d %d %d %d %d %d %d \r\n",Gyro.CuruAngle, Gyro.Frq, Gyro.MaxAmp, Spi.DAC_B, tempDac, flagmod, AD_MAX, PLC_In, Gyro.Termo);//выдаем в терминал для постройки граффика регулировки периметра. Gyro.CuruAngle=0; Gyro.tempdelta=0; Gyro.tempdelta2=0; WriteCon(Time); - // LoopOff + } } - +*/ /* void PlcRegul(void) //Программа расчет напряжения для модулятора @@ -508,15 +508,16 @@ LPC_SSP0->DR = (Spi.DAC_A); //e. передача 12 бит } else { //если такт четный. LPC_SSP0->DR = WRITE_DAC1 ; //e.команда для ЦАП_1 передавать. - - switch( Gyro.StrayPLC_flag) { + LPC_SSP0->DR = (Spi.DAC_B); + temp9 = Spi.DAC_B;//для вывода. + /* + switch( Gyro.StrayPLC_flag) { case 0://режим без воздействия LPC_SSP0->DR = (Spi.DAC_B); temp9=Spi.DAC_B; break; -/* - case 1://малое воздействие + + case 1://малое воздействие + temp9=Spi.DAC_B + Gyro.StrayPLC_Pls; LPC_SSP0->DR = temp9; break; @@ -530,8 +531,8 @@ temp9=Spi.DAC_B + Gyro.StrayPLC_2Mode; LPC_SSP0->DR = temp9;//вгоняем в многомодовый режим break; -*/ - } + + }*/ // LPC_SSP0->DR = Spi.DAC_B; //e. передача 12 бит }