fork

Dependencies:   mbed

Fork of LG by igor Apu

pin.c

Committer:
Kovalev_D
Date:
2016-02-11
Revision:
50:0e3d47f18a50
Parent:
47:d902ef6f7564
Child:
87:7e575d26d6d0

File content as of revision 50:0e3d47f18a50:

#include "Global.h"

void PinCheng(void)
{
//================ блок управления ногой поджига======================
    if((Gyro.PinReg & PinRegBitD) != (Gyro.PinRegOld & PinRegBitD)) {//если текушее состояние бита поджига в регистре ног отличается от предыдущего то:

        if(Gyro.PinReg & PinRegBitD) LightUpON else LightUpOFF//если бита поджига еденица то включить поджиг если 0 отключить
            }

//============= блок управления  подсветкой======================
    if((Gyro.PinReg & PinRegBitL) != (Gyro.PinRegOld & PinRegBitL)) {
        if(Gyro.PinReg & PinRegBitL) BackLightON else BackLightOFF
            }

//============= блок управления вибро нога 1======================
    if((Gyro.PinReg & PinRegBit_1V) != (Gyro.PinRegOld & PinRegBit_1V)) {
        if(Gyro.PinReg & PinRegBit_1V) ClrV1 else SetV1
            }

//============= блок управления вибро нога 2======================
    if((Gyro.PinReg & PinRegBit_2V) != (Gyro.PinRegOld & PinRegBit_2V)) {
        if(Gyro.PinReg & PinRegBit_2V) ClrV2  else SetV2
            }

//============= блок управления отладочным светодиодом======================
    if((Gyro.PinReg & PinRegBitLED) != (Gyro.PinRegOld & PinRegBitLED)) {
        if(Gyro.PinReg & PinRegBitLED) LoopOn else LoopOff
            }
            
            
if((Gyro.PinReg & PinRegBitTXE) != (Gyro.PinRegOld & PinRegBitTXE)) {
        if(Gyro.PinReg & PinRegBitTXE) TXOn else TXOff
            }
    
    Gyro.PinRegOld = Gyro.PinReg; //сохранение текущего регистра как старого для следующего такта сравнения.

}
void Init_Pin(void)
{


    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);
}