Dmitry Kovalev
/
LG2
fork
Fork of LG by
pin.c@50:0e3d47f18a50, 2016-02-11 (annotated)
- 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?
User | Revision | Line number | New 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 | } |