Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of LG by
Diff: main.c
- Revision:
- 48:8697dfe679b9
- Parent:
- 47:d902ef6f7564
- Child:
- 49:53277d871197
--- a/main.c Wed Feb 10 14:06:57 2016 +0000 +++ b/main.c Wed Feb 10 15:58:16 2016 +0000 @@ -40,33 +40,66 @@ unsigned int secPuls,CountBI,CmmandIn,tt,th; unsigned int paramV; -void Led_init() + + +void Init_Pin() { - LPC_PINCON->PINSEL0 = (0x00<<28); - LPC_GPIO1->FIODIR = (0x1<<30); - LPC_PINCON->PINMODE0 = (0x3<<28); - // LPC_GPIO1->FIOSET = (0x0<<30); - // LPC_GPIO0->FIOSET = (1<<4); + + + 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_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 как выход) + //e. P0.4 is output (запись ( 1 ) в 5 бит CLR устанавливаем на P0.4 низкий уровень сигнала) + //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); + + //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 как выход) + 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); + + + + + + + } + + + int flag=0, TIME=0,t=0, Sec=0,tmpSec=0,SEC=0, mSec=0; int tempsec=0; float DACF, K_DAC; -void Led_Blink() -{ - if (flag == 0) { - LPC_GPIO1->FIOSET = (0x1<<30); - flag=1; - } else { - flag =0; - LPC_GPIO1->FIOCLR = (0x01<<30); - } -} + + int main (void) { + + + Gyro.SOC_Out=0xDD; Gyro.Firmware_Version =0x15; //версия программы Gyro.GLD_Serial = 0x20; //серийный номер @@ -78,7 +111,6 @@ K_DAC=0.8; - Gyro.Discharg = 0x7; // инициализация время поджига 3 сек (в событии 1HZ) Gyro.BackLight=0x3ff;// инициализация время подсветки 10 сек (в событии 1HZ) secPuls =0; @@ -89,58 +121,23 @@ Spi.DAC_B = 0x7fff; //инициализация SystemInit1(); // Инициализация контроллера: установка тактовых частот - Led_init(); + + + Init_Pin(); ///* - //Конфигурирование сигнала поджига - 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 как выход) - LightUpON //e. P0.4 is output (запись ( 1 ) в 5 бит CLR устанавливаем на P0.4 низкий уровень сигнала) - /* - LPC_PINCON->PINSEL0 &= ~(3<<10); //e. P0.4 is GPIO pin (запись ( 00 ) в 9:8 бит PISEL0 выбор P0.4 как GPIO) - LPC_PINCON->PINMODE0 |= (3<<10); //e. P0.4 is GPIO pin (запись ( 11 ) в 9:8 бит PINMODE0 "для включения подтягивающего резистора") - LPC_GPIO0->FIODIR |= (1<<5); //e. P0.4 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.4 как выход) - LPC_GPIO0->FIOCLR |= (1<<5); //e. P0.4 is output (запись ( 1 ) в 5 бит CLR устанавливаем на P0.4 низкий уровень сигнала)*/ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - - 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); - - -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - 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 как выход) - LPC_GPIO1->FIOCLR |= (1<<28); -// init_timer(TIME_INTERVAL ); // 10ms -// enable_timer1(); -///иНИциализация подсветки - 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); - LPC_GPIO2->FIODIR |= (1<<7); - TXOff; + + + -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /* - //конфигурирование сигнала поджига оторваная нога (поджиг на 80 ноге вместо 81) - LPC_PINCON->PINSEL0 = (0x00<<10); //e. P0.5 is GPIO pin (запись ( 00 ) в 11:10 бит PISEL0 выбор P0.5 как GPIO) - LPC_PINCON->PINMODE0 |= (3<<10); //e. P0.5 is GPIO pin (запись ( 11 ) в 11:10 бит PINMODE0 "для включения подтягивающего резистора") - LPC_GPIO0->FIODIR |= (1<<5); //e. P0.5 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход) - LPC_GPIO0->FIOCLR |= (1<<5); //e. P0.5 is output (запись ( 1 ) в 5 бит CLR устанавливаем на P0.5 низкий уровень сигнала) - */ + + + + DMA_Init(); // Инициализация DMA FlashDMA_Init(); // Загрузка параметров с флэш @@ -156,10 +153,7 @@ IntLatch_Init(); // инициализация внутренней защелки. ExtLatch_Init(); // инициализация внешней защелки. -//----------------debug------------------------- - //LPC_GPIO2->FIODIR = 0x5C; // P2.0...P2.7 defined as Outputs - //LPC_GPIO2->FIOCLR = 0x5C; // turn off all the LEDs -//----------------debug------------------------- + @@ -228,6 +222,8 @@ Concol (); // Проврка 0 консоли (вход и выход) Concol1 (); // Проврка 0 консоли (вход и выход) if (OutBufConCount) OutBufConCount--; + + if (ReadCon (Time)) { if (Time[0] == 'h') { // если ввели буквц h то выдать подсказку. сделанно через принф ОЧЕНЬ плохо в работе не использовать sprintf(Time,"\r\nCompiled: %s %s.",__DATE__, __TIME__ ); //Подготовка даты и времени компиляции @@ -237,16 +233,18 @@ } - if (Time[0] == 'L'){Gyro.PinReg |= PinRegBitTXE; WriteCon("\n\r On");} - if (Time[0] == 'l'){Gyro.PinReg &= ~PinRegBitTXE; WriteCon("\n\r Off");} + if (Time[0] == 'L'){Gyro.PinReg |= PinRegBitTXE; WriteCon("\n\r On");} // времееено включения драйвера + if (Time[0] == 'l'){Gyro.PinReg &= ~(PinRegBitTXE); WriteCon("\n\r Off");} + + + + } if (OutBufCon1Count) OutBufCon1Count--; if (Event1Hz) {// событие раз в 1 Гц - - Clock1Hz++; - + Clock1Hz++; //============================= блок управления поджигом, сделанно через сдвиг====================== if (Gyro.Discharg) { //Проверка поджига if (Gyro.Discharg & 0x01) Gyro.PinReg |= PinRegBitD; @@ -258,13 +256,7 @@ if (Gyro.BackLight & 0x01) Gyro.PinReg |= PinRegBitL; else Gyro.PinReg &= ~PinRegBitL; Gyro.BackLight = Gyro.BackLight >> 1; - - - - - } - // CMD_Rate(); WriteCon("."); //Так просто выдавать в секунду 1 байт ,что гирос жив /*