Dmitry Kovalev
/
LGstaandart
forkd
Fork of LG2 by
Diff: main.c
- Revision:
- 21:bc8c1cec3da6
- Parent:
- 16:18e3fd7b92d0
- Child:
- 27:101340a22746
--- a/main.c Tue Feb 02 17:14:25 2016 +0000 +++ b/main.c Wed Feb 03 07:19:30 2016 +0000 @@ -13,7 +13,7 @@ ** Descriptions: **-------------------------------------------------------------------------------------------------------- *********************************************************************************************************/ -// первое изменение певое изменения Дмитрия ghjdthrth + #include "Global.h" //#include <math.h> @@ -91,75 +91,69 @@ CuruAngle = 0; Spi.DAC_A=0x7fff; Spi.DAC_B = 0x7fff; - //������������� - - SystemInit1(); // ������������� �������ввававва - Led_init(); - - ///* - //���������������� ������� ������� - 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 ������ ������� �������) + //инициализация + SystemInit(); // Инициализация системы + Led_init(); - - - - - + ///* + //конфигурирование сигнала поджига + 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->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<<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_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); + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /* - //���������������� ������� ������� ��������� ���� (������ �� 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(); // �������� ���������� � ���� - - SystemCoreClockUpdate1(); // ������ ��������� ������� ��� UART. - UARTInit(); // ������������� UART0 �� �������� 38400. - UART1_Init(); // ������������� UART1 �� �������� 38400. - - - DAC_ADC_Exchange_Init(); // ������������� ������ ��� � ���. - DACInit(); // ������������� ���. - SOI_Init(); // ������������� ������������� ��������. - - IntLatch_Init(); // ������������� ���������� �������. - ExtLatch_Init(); // ������������� ������� �������. +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* + //конфигурирование сигнала поджига оторваная нога (поджиг на 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(); // Загрузка параметров с флэш + + SystemCoreClockUpdate(); // расчет системной частоты для UART. + UARTInit(); // инициализация UART0 на скорость 38400. + UART1_Init(); // инициализация UART1 на скорость 38400. + + + DAC_ADC_Exchange_Init(); // инициализация обмена АЦП и ЦАП. + DACInit(); // инициализация ЦАП. + SOI_Init(); // Инициализация квадратурного энкодера. + + IntLatch_Init(); // инициализация внутренней защелки. + ExtLatch_Init(); // инициализация внешней защелки. //----------------debug------------------------- //LPC_GPIO2->FIODIR = 0x5C; // P2.0...P2.7 defined as Outputs @@ -168,18 +162,19 @@ - LoadFlashParam(FromFLASH); //�������� ����������. - UART_DMA_Init(); //������������� DMA ��� UART. - G_Photo_Init(); //������������� ���������� I2C ��� �������������. - Out_G_photo(60, 60); //������ � ����� ������� �������� �� ������� ������ (60,60) � ��������� ����� ������ �������� � ������� ����. + LoadFlashParam(FromFLASH); //загрузка параметров. + UART_DMA_Init(); //инициализация DMA для UART. + G_Photo_Init(); //инициализация интерфейса I2C для фотодетектора. + Out_G_photo(60, 60); //запись в буфер мастера принятые от функции данные (60,60) и установка флага старта передачи и занятой шины. // WDTInit(); - open_all_loops(); //#define open_all_loops() RgConA = 0 (�������� ������� ���������� ���������� (0 - ��������, 1 - ���������)). - Output.Str.HF_reg = Device_blk.Str.HF_min; //HFO output voltage = ������������ ���������� �� ���. - init_PLC(); //������������� ���(����������� ���������) - init_Dither_reg(); //������������� ������������ - RgConB = RATE_VIBRO_1; // �������������� ������� ���������� = �������� �������������� ����� ������� ������.��������(#define RATE_VIBRO_1 0x0001) + open_all_loops(); //#define open_all_loops() RgConA = 0 (Основной регистр управления устройства (0 - включить, 1 - отключить)). + Output.Str.HF_reg = Device_blk.Str.HF_min; //HFO output voltage = максивальное напряжение на ГВЧ. + init_PLC(); //Инициализация СРП(регулировка периметра) + init_Dither_reg(); //инициализация вибропривода + RgConB = RATE_VIBRO_1; // дополнительный регистр управления = разность вибросчетчиков после фильтра скольз.среднего(#define RATE_VIBRO_1 0x0001) + init_Vibro(); init_timer(TIME_INTERVAL ); // 10ms enable_timer1(); @@ -216,7 +211,7 @@ Buff_16Point[y] = 0xffff; Buff_8Point[y] = 0xffff; Buff_32Point[y] = 0xffff; - Buff_ADC_1[y] = 0; // ���� ���. + Buff_ADC_1[y] = 0; // ампл ацп. Buff_ADC_2[y] = 0; Buff_ADC_3[y] = 0; Buff_ADC_4[y] = 0; @@ -233,7 +228,7 @@ - do { //�������� ����. + do { //основной цикл. Concol (); // Проврка 0 консоли (вход и выход) if (OutBufConCount) OutBufConCount--; @@ -318,17 +313,19 @@ //Device_blk.Str. // TakeFromBuff(); - //���������� �������. + //отключение поджига. + // paramV=TakeParam(1); - if (LPC_PWM1->IR & 0x0001) { // ���� � �������� ���������� ���1 (������� PWM1IR) ���� ���� ���������� ���������� �������� � ����� (lim0 ?) ��: + if (LPC_PWM1->IR & 0x0001) { // Если в регистре прерываний ШИМ1 (регистр PWM1IR) есть влаг прерывания совпадения счетчика с МАТСН (lim0 ?) то: + /* ResetCS(ADC); //prepare ADC for sampling SetDAC(DAC); - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED + LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED + LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED + LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED SetCS(ADC); //start ADC sampling ResetDAC(DAC); //start DAC prepearing for writing */ @@ -416,17 +413,18 @@ LPC_GPIO2->FIOSET |= 0x0000004; // turn on the LED - Curr_Cnt_Vib = LPC_QEI->POS; // �������� � ���������� Curr_Cnt_Vib ������� ��������� ��������. (������� ���������� ���������) - Latch_Event(); //����������� ������� + Curr_Cnt_Vib = LPC_QEI->POS; // записать в переменную Curr_Cnt_Vib текущее положение Энкодера. (текущее количество импульсов) + Latch_Event(); //определение защелки - clc_Pulses(); // ������� ���������. RATE_REPER_OR_REFMEANDR ��� RATE_VIBRO_1 + clc_Pulses(); // счетчик импульсов. RATE_REPER_OR_REFMEANDR или RATE_VIBRO_1 - //ADC_Input(); // �������� ������ ���������� ������ � ������� Thermo1, Thermo2, HF_out � ����� Input.ArrayIn[n]. - //DAC_ADC_Exchange();// �������� ������ ���������� ������ � ����� � ����. - ServiceTime();//��������� ������. - clc_ThermoSensors();//������ ������� ����������� �� ������� - clc_HFO(); //������ �������� ��� �������� � ������ ���(�� ���). + //ADC_Input(); // проверка флагов заполнения буфера и четение Thermo1, Thermo2, HF_out в масив Input.ArrayIn[n]. + //DAC_ADC_Exchange();// проверка флагов заполнения буфера и зпись в ЦАПы. + ServiceTime();//секундный таймер. + clc_ThermoSensors();//расчет средней температуры за секунду + clc_HFO(); //расчет значения для передачи в контур ГВЧ(на цап). + clc_PLC(); // clc_Dith_regulator(); clc_OutFreq_regulator();