Dmitry Kovalev
/
LGfiltr
forkd
Fork of LGstaandart by
pin.c
- Committer:
- Kovalev_D
- Date:
- 2017-02-07
- Revision:
- 208:19150d2b528f
- Parent:
- 205:775d54fdf646
- Child:
- 209:224e7331a061
File content as of revision 208:19150d2b528f:
#include "Global.h" int Try=0,TimeDischarg=0; int Light=0; void PinCheng(void) { //================ блок управления ногой поджига====================== if((Gyro.PinReg & PinRegBitD) != (Gyro.PinRegOld & PinRegBitD)) {//если текушее состояние бита поджига в регистре ног отличается от предыдущего то: if(Gyro.PinReg & PinRegBitD) LightUpON else LightUpOFF//если бита поджига еденица то включить поджиг если 0 отключить } //============= блок управления подсветкой====================== if((Gyro.PinReg & PinRegBitL) != (Gyro.PinRegOld & PinRegBitL)) { if(Gyro.PinReg & PinRegBitL) BackLightON else BackLightOFF } /* //============= блок управления вибро нога 1====================== if((Gyro.PinReg & PinRegBit_1V) != (Gyro.PinRegOld & PinRegBit_1V)) { if(Gyro.PinReg & PinRegBit_1V) ClrV1 else SetV1 } //============= блок управления вибро нога 2====================== if((Gyro.PinReg & PinRegBit_2V) != (Gyro.PinRegOld & PinRegBit_2V)) { if(Gyro.PinReg & PinRegBit_2V) ClrV2 else SetV2 } */ if((Gyro.PinReg & PinRegBitTXE) != (Gyro.PinRegOld & PinRegBitTXE)) { if(Gyro.PinReg & PinRegBitTXE) TXOn else TXOff } Gyro.PinRegOld = Gyro.PinReg; //сохранение текущего регистра как старого для следующего такта сравнения. } void Discharg ()//проверка битового поля поджига и установка значения бита поджига { /* sprintf((Time),"%d %d\r\n",Gyro.RgConA, Gyro.RgConB); WriteCon(Time); */ if (Gyro.Discharg) { Spi.DAC_A = GyroP.Str.DAC_current_Start; Gyro.Discharg = Gyro.Discharg >> 1; Gyro.RgConA = 0x0000; Gyro.RgConB = 0x0000; //Проверка здвигового поля(последовательности) поджига //если последний бит 1 то установить бит поджига в еденицу, иначе в 0; if (Gyro.Discharg & 0x1) Gyro.PinReg |= PinRegBitD; else Gyro.PinReg &= ~PinRegBitD; } else if(TimeDischarg<3) { TimeDischarg++; if(TimeDischarg==1) { if (Spi.ADC5>25000) { if (Try<10) { Gyro.Discharg = StartDischarg << ShiftStart0; Gyro.BackLight = StartBackLight << ShiftStart0; TimeDischarg=0; Try++; } } else { Spi.DAC_A = GyroP.Str.DAC_current_Work; Gyro.LaserOn=1; Gyro.RgConA = 0xffff; Gyro.RgConB = 0xffff; TimeDischarg=5; Try=0; } } } else { /* if(Spi.ADC5>30000) { Gyro.LaserOn=0; Gyro.RgConA = 0x0; Gyro.RgConB = 0x0;} else { //Gyro.RgConA = 0xffff; // Gyro.RgConB = 0xffff; Gyro.LaserOn=1; Try=0; }*/ } } void BackLight () { if (Gyro.BackLight) { Gyro.BackLight = Gyro.BackLight >> 1; //Проверка здвигового поля(последовательности) подсветки //если последний бит в битовом поле 1 то установить бит подсветки в еденицу, иначе в 0; if (Gyro.BackLight & 0x1) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL; } }