Dmitry Kovalev
/
LG2
fork
Fork of LG by
Diff: vibro.c
- Revision:
- 89:a0d344db227e
- Parent:
- 87:7e575d26d6d0
- Child:
- 92:c892f0311aa7
--- a/vibro.c Thu Mar 24 10:15:56 2016 +0000 +++ b/vibro.c Thu Mar 24 12:57:10 2016 +0000 @@ -4,24 +4,26 @@ //volatile int Temp = 0 ; volatile unsigned int Flag=0; unsigned int FrecTemp=0; -///////////////////////////////////////////////////////////////////////////// -/////////////////////////инициализация вибропривода////////////////////////// -///////////////////////////////////////////////////////////////////////////// + -void Discharg () + +void Discharg ()//проверка битового поля поджига и установка значения бита поджига { if (Gyro.Discharg) { - //Проверка поджига - Gyro.Discharg = Gyro.Discharg >> 1; + //Проверка здвигового поля(последовательности) поджига + Gyro.Discharg = Gyro.Discharg >> 1; + //если последний бит 1 то установить бит поджига в еденицу, иначе в 0; if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD; else Gyro.PinReg &= ~PinRegBitD; } } void BackLight () { if (Gyro.BackLight) - { //Проверка подсветки + { + //Проверка здвигового поля(последовательности) подсветки Gyro.BackLight = Gyro.BackLight >> 1; + //если последний бит в битовом поле 1 то установить бит подсветки в еденицу, иначе в 0; if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL; } } @@ -31,15 +33,15 @@ void VibroOut(void) // выставка ног вибро { - if(CountV31>=16) { - // 50 75 + if(CountV31>=16) {//первая нога вибро + // левая граница вЫкл вибро 1 > Time_vibro <ПРАВАЯ граница вЫкл вибро 1 if((Time_vibro>Gyro.AmpN1) && (Time_vibro<Gyro.AmpN2)) { Gyro.PinReg &= ~PinRegBit_1V;/*LoopOn*///установить в регистре PinReg бит "вибро 1" в "0" } else { Gyro.PinReg |= PinRegBit_1V;//установить в регистре PinReg бит "вибро 1" в "1" } - } else { + } else {//вторая нога вибро if((Time_vibro>Gyro.AmpN1)&&(Time_vibro<Gyro.AmpN2)) { Gyro.PinReg &= ~PinRegBit_2V; /*LoopOff*////установить в регистре PinReg бит "вибро 2" в "0" } else { @@ -65,11 +67,8 @@ if((Gyro.AmpPer+Gyro.AmpPerDel)>90) { Gyro.AmpPer=90-Gyro.AmpPerDel; //проверка верхней граници мплитуды } - //250 100000 / 399 Nmax =(unsigned int)((100000/(Gyro.Frq>>16))-1); // - // 50 (( 250 * (100-20)) /400) // Gyro.AmpN1=(unsigned int)((Nmax*(100-Gyro.AmpPer))/400); //левая граница амплитуды - // 75 ((250 /2)-50) Gyro.AmpN2=(unsigned int)((Nmax/2)-Gyro.AmpN1); //правая граница амплитуды Flag=1; @@ -79,11 +78,9 @@ if((Gyro.AmpPer+Gyro.AmpPerDel)>90) { Gyro.AmpPer=90-Gyro.AmpPerDel; //проверка верхней граници мплитуды } - //250 + Nmax =(unsigned int)((100000/(Gyro.Frq>>16))-1); - //56 ((250*(100-20+10))/400) Gyro.AmpN1=(unsigned int)((Nmax*(100-Gyro.AmpPer+Gyro.AmpPerDel))/400);//левая граница амплитуды - //69 ((250/2)-56 Gyro.AmpN2=(unsigned int)((Nmax/2)-Gyro.AmpN1); //правая граница амплитуды Flag=0; }