![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
fork
Fork of LG by
Diff: Global.c
- Revision:
- 88:b5c1d9d338d1
- Parent:
- 87:7e575d26d6d0
- Child:
- 89:a0d344db227e
diff -r 7e575d26d6d0 -r b5c1d9d338d1 Global.c --- a/Global.c Thu Mar 24 09:16:55 2016 +0000 +++ b/Global.c Thu Mar 24 10:15:56 2016 +0000 @@ -8,13 +8,13 @@ unsigned char BuffTemp[100]; unsigned char Time[500]; unsigned int Event1Hz; -unsigned int Event1K ; -unsigned int Event100K; -unsigned int EventVibro; -unsigned int Time1K; -unsigned int Time100K; -unsigned int Time1Hz; -unsigned int Clock1Hz; +unsigned int Event1K ; +unsigned int Event100K; +unsigned int EventVibro; +unsigned int Time1K; +unsigned int Time100K; +unsigned int Time1Hz; +unsigned int Clock1Hz; unsigned int ShiftD; unsigned int ShiftL; @@ -23,44 +23,114 @@ ///////////////////////////////////////////// ///////////обнуление счетчиков/////////////// ///////////////////////////////////////////// - Global_Time = 0; - Time_UART = 0; - Time_Sec = 0; - Time_vibro = 0; - Time_1kHz = 0; - Event1Hz = 0; - Event1K = 0; - Event100K = 0; - EventVibro = 0; - Time1K = 0; - Time100K = 0; - Time1Hz = 0; - Clock1Hz = 0; - ShiftD = 0; - ShiftL = 0; + Global_Time = 0; + Time_UART = 0; + Time_Sec = 0; + Time_vibro = 0; + Time_1kHz = 0; + Event1Hz = 0; + Event1K = 0; + Event100K = 0; + EventVibro = 0; + Time1K = 0; + Time100K = 0; + Time1Hz = 0; + Clock1Hz = 0; + ShiftD = 0; + ShiftL = 0; ///////////////////////////////////////////// ///////////////////////////////////////////// - /* - Gyro.SOC_Out=0xDD; + + + + + + + + ///////////////////////////////////////////////////// + /////////////обнуление переменых для///////////////// + ///////////расчета значений буферов ВП/////////////// + ///////////////////////////////////////////////////// + /////////////инициализация переменных в структ вибро///////////////// + Gyro.FrqHZ=449; + Gyro.Frq = Gyro.FrqHZ<<16; + Gyro.AmpPer=20; + Gyro.AmpPerDel=10; + Gyro.Amp = 10*65535; + Gyro.AmpMin =10;// минимальное значение AmpT; + Gyro.AmpTD =30;// максимальное значение AmpT; (AmpT частота ошумления) + ////////////////////////////////////////////////////////////////////// + CuruAngle = 0; + Pulse_8Point = 0; + Pulse_16Point = 0; + Pulse_16PointD = 0; + Pulse_32Point = 0; + ///////////////////////////////////////////////////// + /////////////предварительное заполнение////////////// + ////////////////буферов вибропривода///////////////// + ///////////////////////////////////////////////////// + for (int i = 0; i < 32; i++ ) { + Buff_16Point[i] = 0x00; + Buff_8Point[i] = 0x00; + Buff_32Point[i] = 0x00; + Buff_16PointD[i] = 0x00; + } + //////////////////////////////////////////////////// + //////////////////////////////////////////////////// + + + + + + + + ///////////////////////////////////////////////////// + /////////////обнуление переменых для///////////////// + //////////////////переменных АЦП///////////////////// + ///////////////////////////////////////////////////// + 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++ ) { + Buff_ADC_1[i] = 0; // ампл ацп. + Buff_ADC_2[i] = 0; + Buff_ADC_3[i] = 0; + Buff_ADC_4[i] = 0; + Buff_ADC_5[i] = 0; + } + //////////////////////////////////////////////////// + //////////////////////////////////////////////////// + + + + + + /* + Gyro.SOC_Out=0xDD; Gyro.Firmware_Version =0x15; //версия программы Gyro.GLD_Serial = 0x20; //серийный номер Gyro.My_Addres = 0; //адрес глд Gyro.Discharg = StartDischarg; Gyro.BackLight = StartBackLight; - */ - - - ///////////////////////////////////////////////////// - ////////инициализация цап (р0.26 цап выход)////////// - //////////////////середина шкалы///////////////////// - ///////////////////////////////////////////////////// - LPC_PINCON->PINSEL1 = 0x00200000; - ///////////////////////////////////////////////////// - ////////////начальное значение для цап/////////////// - //////////////////середина шкалы///////////////////// - ///////////////////////////////////////////////////// - Spi.DAC_A = 0x7fff; + */ + + + ///////////////////////////////////////////////////// + //////инициализация цап_LPC (р0.26 цап выход)//////// + ///////////////////////////////////////////////////// + LPC_PINCON->PINSEL1 = 0x00200000; + ///////////////////////////////////////////////////// + ////////////начальное значение для цап/////////////// + //////////////////середина шкалы///////////////////// + ///////////////////////////////////////////////////// + Spi.DAC_A = 0x7fff; Spi.DAC_B = 0x7fff; //////////////////////////////////////////////////// /////////////поправочный коэффициент///////////////// @@ -68,23 +138,23 @@ ///////////////////////////////////////////////////// K_DAC=65535.0/(65535.0+(deltaDAC+deltaDAC/2)); K_DAC=0.8; - ///////////////////////////////////////////////////// + ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// secPuls =0;// переменная для конопки поджига аск глд(временная) - + ///////////////////////////////////////////////////// /////////////обнуление переменых для///////////////// ///////////////переменных энкодера/////////////////// ///////////////////////////////////////////////////// - Cur_QEI=0; + Cur_QEI=0; Last_QEI=0; ///////////////////////////////////////////////////// /////////////инициализация энкодера////////////////// - ///////////////////////////////////////////////////// + ///////////////////////////////////////////////////// LPC_SC->PCONP |= (1<<18);//0x00040000; включение квадратурного энкодера. LPC_SC->PCLKSEL1 |= 0x00000001; // выбор частоты для кв.э. CLK=100MHz LPC_PINCON->PINSEL3 &= ~0x4100; @@ -101,126 +171,70 @@ NVIC_SetPriority(QEI_IRQn, 0); NVIC_EnableIRQ(QEI_IRQn); - ////////////////////////////////////////////////////// - ////////////////////////////////////////////////////// + ////////////////////////////////////////////////////// + ////////////////////////////////////////////////////// + + + - - - ///////////////////////////////////////////////////// - /////////////обнуление переменых для///////////////// - ///////////расчета значений буферов ВП/////////////// - ///////////////////////////////////////////////////// - - - /////////////инициализация переменных в структ вибро///////////////// - Gyro.FrqHZ=449; - Gyro.Frq = Gyro.FrqHZ<<16; - Gyro.AmpPer=20; - Gyro.AmpPerDel=10; - Gyro.Amp = 10*65535; - Gyro.AmpMin =10;// минимальное значение AmpT; - Gyro.AmpTD =30;// максимальное значение AmpT; (AmpT частота ошумления) - ////////////////////////////////////////////////////////////////////// - - CuruAngle = 0; - Pulse_8Point = 0; - Pulse_16Point = 0; - Pulse_16PointD = 0; - Pulse_32Point = 0; - ///////////////////////////////////////////////////// - /////////////предварительное заполнение////////////// - ////////////////буферов вибропривода///////////////// - ///////////////////////////////////////////////////// - for (int i = 0; i < 32; i++ ) { + + - Buff_16Point[i] = 0x00; - Buff_8Point[i] = 0x00; - Buff_32Point[i] = 0x00; - Buff_16PointD[i] = 0x00; - } - //////////////////////////////////////////////////// - //////////////////////////////////////////////////// + + ///////////////////////////////////////////////////// - /////////////обнуление переменых для///////////////// - //////////////////переменных ацп///////////////////// - ///////////////////////////////////////////////////// - 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++ ) { - Buff_ADC_1[i] = 0; // ампл ацп. - Buff_ADC_2[i] = 0; - Buff_ADC_3[i] = 0; - Buff_ADC_4[i] = 0; - Buff_ADC_5[i] = 0; - } - //////////////////////////////////////////////////// - //////////////////////////////////////////////////// + Gyro.PinRegOld = 0xffffffff; + Gyro.PinReg = 0; // всЁ выключенно + PinCheng(); - - - - - ///////////////////////////////////////////////////// - /////////////////инициализация ног/////////////////// - ///////////////////////////////////////////////////// - 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_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 как выход) ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// - - - + + + ///////////////////////////////////////////////////// - /////////////////////вибро 1///////////////////////// + /////////////////////вибро 1///////////////////////// ///////////////////////////////////////////////////// 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); - ////////////////////////////////////////////////////// - /////////////////////вибро 2///////////////////////// + ////////////////////////////////////////////////////// + /////////////////////вибро 2///////////////////////// ///////////////////////////////////////////////////// LPC_PINCON->PINSEL3 = (0x00<<24); //e. P1.28 is GPIO pin LPC_PINCON->PINMODE3 |= (3<<24); //e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0 "для включения подтягивающего резистора") @@ -228,45 +242,36 @@ 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); - /////////////////////////////////////////////////////// - /////////////////////////////////////////////////////// - - - - - - /////////////////////////////////////////////////////// + /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// + + + + + + /////////////////////////////////////////////////////// + /////////////////////////////////////////////////////// + ///инициализация таймеров/// + /// 9 и 100 кГц /// + //////////////////////////// init_timer(TIME_INTERVAL ); //Timer 1: CCLK / 7812 = 12800.819Hz; Vibro: Timer1/32 = 400.025Hz; 10ms??? enable_timer1(); Init_TIM2(); //Timer 2: CCLK / 4 / 250 = 100kHz enable_timer2(); - + LPC_GPIO0->FIOCLR = (1<<5);/////////////?????????????????????????? } -void ButtonLightUP(void) // включение аоджига и подсветки -{ - - if ((secPuls>100)&&(pulse_Rq==1)) - { - pulse_Rq=0; -// LightUpCount=3000; -// BackLightCount=5000; - - } -} -