forkd

Dependencies:   mbed

Fork of LG2 by Dmitry Kovalev

Committer:
Kovalev_D
Date:
Thu Feb 11 14:36:33 2016 +0000
Revision:
50:0e3d47f18a50
Parent:
47:d902ef6f7564
Child:
87:7e575d26d6d0
???????????? ?????? ? ????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kovalev_D 28:1c9acd3b224d 1 #include "Global.h"
Kovalev_D 28:1c9acd3b224d 2
Kovalev_D 28:1c9acd3b224d 3 void PinCheng(void)
Kovalev_D 28:1c9acd3b224d 4 {
Kovalev_D 40:8a6494f61326 5 //================ блок управления ногой поджига======================
Kovalev_D 40:8a6494f61326 6 if((Gyro.PinReg & PinRegBitD) != (Gyro.PinRegOld & PinRegBitD)) {//если текушее состояние бита поджига в регистре ног отличается от предыдущего то:
igor_v 42:6fc307c4963e 7
Kovalev_D 40:8a6494f61326 8 if(Gyro.PinReg & PinRegBitD) LightUpON else LightUpOFF//если бита поджига еденица то включить поджиг если 0 отключить
Kovalev_D 40:8a6494f61326 9 }
igor_v 42:6fc307c4963e 10
Kovalev_D 40:8a6494f61326 11 //============= блок управления подсветкой======================
Kovalev_D 40:8a6494f61326 12 if((Gyro.PinReg & PinRegBitL) != (Gyro.PinRegOld & PinRegBitL)) {
Kovalev_D 40:8a6494f61326 13 if(Gyro.PinReg & PinRegBitL) BackLightON else BackLightOFF
Kovalev_D 40:8a6494f61326 14 }
igor_v 42:6fc307c4963e 15
Kovalev_D 40:8a6494f61326 16 //============= блок управления вибро нога 1======================
Kovalev_D 40:8a6494f61326 17 if((Gyro.PinReg & PinRegBit_1V) != (Gyro.PinRegOld & PinRegBit_1V)) {
Kovalev_D 47:d902ef6f7564 18 if(Gyro.PinReg & PinRegBit_1V) ClrV1 else SetV1
Kovalev_D 40:8a6494f61326 19 }
igor_v 42:6fc307c4963e 20
Kovalev_D 40:8a6494f61326 21 //============= блок управления вибро нога 2======================
Kovalev_D 40:8a6494f61326 22 if((Gyro.PinReg & PinRegBit_2V) != (Gyro.PinRegOld & PinRegBit_2V)) {
Kovalev_D 47:d902ef6f7564 23 if(Gyro.PinReg & PinRegBit_2V) ClrV2 else SetV2
Kovalev_D 40:8a6494f61326 24 }
igor_v 42:6fc307c4963e 25
Kovalev_D 40:8a6494f61326 26 //============= блок управления отладочным светодиодом======================
Kovalev_D 40:8a6494f61326 27 if((Gyro.PinReg & PinRegBitLED) != (Gyro.PinRegOld & PinRegBitLED)) {
Kovalev_D 40:8a6494f61326 28 if(Gyro.PinReg & PinRegBitLED) LoopOn else LoopOff
Kovalev_D 40:8a6494f61326 29 }
Kovalev_D 47:d902ef6f7564 30
Kovalev_D 47:d902ef6f7564 31
Kovalev_D 47:d902ef6f7564 32 if((Gyro.PinReg & PinRegBitTXE) != (Gyro.PinRegOld & PinRegBitTXE)) {
Kovalev_D 47:d902ef6f7564 33 if(Gyro.PinReg & PinRegBitTXE) TXOn else TXOff
Kovalev_D 47:d902ef6f7564 34 }
Kovalev_D 47:d902ef6f7564 35
Kovalev_D 40:8a6494f61326 36 Gyro.PinRegOld = Gyro.PinReg; //сохранение текущего регистра как старого для следующего такта сравнения.
Kovalev_D 28:1c9acd3b224d 37
Kovalev_D 50:0e3d47f18a50 38 }
Kovalev_D 50:0e3d47f18a50 39 void Init_Pin(void)
Kovalev_D 50:0e3d47f18a50 40 {
Kovalev_D 50:0e3d47f18a50 41
Kovalev_D 50:0e3d47f18a50 42
Kovalev_D 50:0e3d47f18a50 43 Gyro.PinRegOld = 0xffffffff;
Kovalev_D 50:0e3d47f18a50 44 Gyro.PinReg = 0; // всЁ выключенно
Kovalev_D 50:0e3d47f18a50 45 PinCheng();
Kovalev_D 50:0e3d47f18a50 46
Kovalev_D 50:0e3d47f18a50 47
Kovalev_D 50:0e3d47f18a50 48
Kovalev_D 50:0e3d47f18a50 49 LPC_PINCON->PINSEL0 = (0x00<<28); // а нужно, ведь по умолчаниб у них 0 функция. попробоввать без них потом убрать
Kovalev_D 50:0e3d47f18a50 50 LPC_PINCON->PINMODE0 = (0x3<<28);
Kovalev_D 50:0e3d47f18a50 51 LPC_GPIO1->FIODIR |= (1<<30);
Kovalev_D 50:0e3d47f18a50 52 LPC_GPIO2->FIODIR |= (1<<7);
Kovalev_D 50:0e3d47f18a50 53
Kovalev_D 50:0e3d47f18a50 54 LPC_PINCON->PINSEL0 &= ~(3<<8); //e. P0.4 is GPIO pin (запись ( 00 ) в 9:8 бит PISEL0 выбор P0.4 как GPIO)
Kovalev_D 50:0e3d47f18a50 55 LPC_PINCON->PINMODE0 |= (3<<8); //e. P0.4 is GPIO pin (запись ( 11 ) в 9:8 бит PINMODE0 "для включения подтягивающего резистора")
Kovalev_D 50:0e3d47f18a50 56 LPC_GPIO0->FIODIR |= (1<<4); //e. P0.4 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.4 как выход)
Kovalev_D 50:0e3d47f18a50 57 //e. P0.4 is output (запись ( 1 ) в 5 бит CLR устанавливаем на P0.4 низкий уровень сигнала)
Kovalev_D 50:0e3d47f18a50 58 LPC_PINCON->PINSEL3 = (0x00<<18); //e. P1.25 is GPIO pin
Kovalev_D 50:0e3d47f18a50 59 LPC_PINCON->PINMODE3 |= (3<<18); //e. P1.25 (включениe подтягивающего резистора")
Kovalev_D 50:0e3d47f18a50 60 LPC_GPIO1->FIODIR |= (1<<25); //e. P0.5 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход)
Kovalev_D 50:0e3d47f18a50 61 LPC_GPIO1->FIOCLR |= (1<<25);
Kovalev_D 50:0e3d47f18a50 62
Kovalev_D 50:0e3d47f18a50 63 LPC_PINCON->PINSEL3 = (0x00<<24); //e. P1.28 is GPIO pin
Kovalev_D 50:0e3d47f18a50 64 LPC_PINCON->PINMODE3 |= (3<<24); //e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0 "для включения подтягивающего резистора")
Kovalev_D 50:0e3d47f18a50 65 LPC_GPIO1->FIODIR |= (1<<28); //e. P1.28 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход)
Kovalev_D 50:0e3d47f18a50 66 LPC_GPIO1->FIOCLR |= (1<<28);
Kovalev_D 50:0e3d47f18a50 67 //
Kovalev_D 50:0e3d47f18a50 68 //иНИциализация подсветки
Kovalev_D 50:0e3d47f18a50 69
Kovalev_D 50:0e3d47f18a50 70 LPC_PINCON->PINSEL2 = (0x00<<24); //e. P2.12 is GPIO pin
Kovalev_D 50:0e3d47f18a50 71 LPC_PINCON->PINMODE3 |= (3<<24); //e. P1.28 is GPIO pin (запись ( 11 ) в бит PINMODE0 "для включения подтягивающего резистора")
Kovalev_D 50:0e3d47f18a50 72 LPC_GPIO2->FIODIR |= (1<<12); //e. P1.28 is output (запись ( 1 ) в 5 бит FIODIR выбор P0.5 как выход)
Kovalev_D 50:0e3d47f18a50 73 LPC_GPIO2->FIOCLR |= (1<<12);
Kovalev_D 28:1c9acd3b224d 74 }