Dmitry Kovalev
/
LGstaandart
forkd
Fork of LG2 by
Diff: Global.c
- Revision:
- 89:a0d344db227e
- Parent:
- 88:b5c1d9d338d1
- Child:
- 90:d9b6a4bc5065
--- a/Global.c Thu Mar 24 10:15:56 2016 +0000 +++ b/Global.c Thu Mar 24 12:57:10 2016 +0000 @@ -2,11 +2,11 @@ -unsigned int VibroReg = 0; //регистр состаяния вибропривода. -unsigned long Global_Time, Time_UART,Time_Sec,Time_vibro,Time_1kHz; -unsigned long MaxAmp=0; -unsigned char BuffTemp[100]; -unsigned char Time[500]; +unsigned int VibroReg = 0; //регистр состаяния вибропривода. +unsigned long Global_Time, Time_UART,Time_Sec,Time_vibro,Time_1kHz; +unsigned long MaxAmp=0; +unsigned char BuffTemp[100]; +unsigned char Time[500]; unsigned int Event1Hz; unsigned int Event1K ; unsigned int Event100K; @@ -20,6 +20,16 @@ void GLD_Init(void) { + +///////////////////////////////////////////// +///////////инициализация таймеров//////////// +///////////////////////////////////////////// + Init_TIM1(TIME_INTERVAL ); //Timer 1: CCLK / 7812 = 12800.819Hz; Vibro: Timer1/32 = 400.025Hz; 10ms??? + Init_TIM2(); //Timer 2: CCLK / 4 / 250 = 100kHz +///////////////////////////////////////////// +///////////////////////////////////////////// + + ///////////////////////////////////////////// ///////////обнуление счетчиков/////////////// ///////////////////////////////////////////// @@ -45,9 +55,6 @@ - - - ///////////////////////////////////////////////////// /////////////обнуление переменых для///////////////// ///////////расчета значений буферов ВП/////////////// @@ -122,6 +129,8 @@ */ + + ///////////////////////////////////////////////////// //////инициализация цап_LPC (р0.26 цап выход)//////// ///////////////////////////////////////////////////// @@ -159,10 +168,10 @@ LPC_SC->PCLKSEL1 |= 0x00000001; // выбор частоты для кв.э. CLK=100MHz LPC_PINCON->PINSEL3 &= ~0x4100; LPC_PINCON->PINSEL3 |= 0x4100; //P1.20, p1.23 установить как входы кв.э - LPC_PINCON->PINMODE3 |= 0x3C300; //P1.20, p1.23, p1.24 ??are pulled-down??(притянуть к питанию)???? + LPC_PINCON->PINMODE3 |= 0x3C300; //P1.20, p1.23 LPC_QEI->MAXPOS = MAX_QEI_CNT; //LPC_QEI->"регистор максимального положения" = 2147483646 - LPC_QEI->FILTER = 2; // фильтр( ?? ) + LPC_QEI->FILTER = 2; // фильтр( ?? ) LPC_QEI->CON = 0xF; //сбросить в ноль все счетчики кв.э. (скорость, направление, позицию и тд) LPC_QEI->CONF = (0<<2) |(0<<1); //Quadrature inputs, no inverting,only A pulses are counted @@ -175,31 +184,44 @@ ////////////////////////////////////////////////////// - + ////////////////////////////////////////////////////// + ///////////////////////I2C//////////////////////////// + ////////////////////////////////////////////////////// + LPC_SC->PCONP |= (1 << 19);//включение интерфейса I2C. - + /* set PIO0.27 and PIO0.28 to I2C0 SDA and SCK */ + /* function to 01 on both SDA and SCK. */ + LPC_PINCON->PINSEL1 &= ~0x03C00000; //P0.27 - SDA. + LPC_PINCON->PINSEL1 |= 0x01400000; //P0.28 - SCK. - + // подтверждение Флаг флаг разрешения + /*сброс флагоф флага прерывания I2C старта интерфейса I2C */ + LPC_I2C0->CONCLR = I2CONCLR_AAC | I2CONCLR_SIC | I2CONCLR_STAC | I2CONCLR_I2ENC; // установка микроконтроллера в режим мастера - - - + /*--- Reset registers ---*/ + LPC_I2C0->SCLL = I2SCLL_SCLL; // - счетчик scl low time period + LPC_I2C0->SCLH = I2SCLH_SCLH; // - счетчик scl high time period + LPC_I2C0->CONSET = I2CONSET_I2EN; //включение интерфейса I2C. + ////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////// ///////////////////////////////////////////////////// /////////////////инициализация ног/////////////////// ///////////////////////////////////////////////////// + + ///////////////////////////////////////////////////// Gyro.PinRegOld = 0xffffffff; Gyro.PinReg = 0; // всЁ выключенно PinCheng(); - + ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// //////////////отладочный светодиод/////////////////// ///////////////////////////////////////////////////// - LPC_PINCON->PINSEL0 = (0x00<<28); // а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать + LPC_PINCON->PINSEL0 = (0x00<<28); // а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать LPC_PINCON->PINMODE0 = (0x3<<28); LPC_GPIO1->FIODIR |= (1<<30); ///////////////////////////////////////////////////// @@ -209,14 +231,14 @@ ///////////////////////////////////////////////////// ////////////////управление уартом//////////////////// ///////////////////////////////////////////////////// - LPC_GPIO2->FIODIR |= (1<<7); + LPC_GPIO2->FIODIR |= (1<<7);//направление ноги uart enable ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// ///////////////////////////////////////////////////// - ////////////////?????????????????//////////////////// + ///////////////////////поджиг//////////////////////// ///////////////////////////////////////////////////// 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 "для включения подтягивающего резистора") @@ -234,8 +256,8 @@ 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 "для включения подтягивающего резистора") LPC_GPIO1->FIODIR |= (1<<28); //e. P1.28 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход) @@ -256,20 +278,16 @@ /////////////////////////////////////////////////////// - - - /////////////////////////////////////////////////////// /////////////////////////////////////////////////////// - ///инициализация таймеров/// - /// 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);/////////////?????????????????????????? + /////////////////////////////////////////////////////// + + ////////////////////////////////////////////////////////////////// + // LPC_GPIO0->FIOCLR = (1<<5);/////////////отключение поджига }