уставки*10
This commit is contained in:
108
Source/Internal/peripher.c
Normal file
108
Source/Internal/peripher.c
Normal file
@@ -0,0 +1,108 @@
|
||||
#include "DSP2833x_Device.h" // DSP281x Headerfile Include File
|
||||
#include "filter_bat2.h"
|
||||
#include "measure.h"
|
||||
#include "RS485.h"
|
||||
#include "message.h"
|
||||
|
||||
#include "package.h"
|
||||
|
||||
#include "peripher.h"
|
||||
#include "GPIO_table.h"
|
||||
|
||||
|
||||
int Mode,Desk,Addrr,TermoAD=0,TermoRS=0,TermoSW=0,Currentoz=0;
|
||||
WORDE Inputs;
|
||||
|
||||
long INcount0=0,INcount1=0;
|
||||
|
||||
void setup_leds_line()
|
||||
{
|
||||
EALLOW;
|
||||
GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0;
|
||||
GpioCtrlRegs.GPBMUX2.bit.GPIO48 = 0;
|
||||
GpioCtrlRegs.GPBDIR.bit.GPIO32 = 1;
|
||||
GpioCtrlRegs.GPBDIR.bit.GPIO48 = 1;
|
||||
EDIS;
|
||||
}
|
||||
|
||||
void get_Mode()
|
||||
{
|
||||
int i,qua;
|
||||
|
||||
EALLOW;
|
||||
|
||||
GpioCtrlRegs.GPAMUX1.all &= 0xFF000000; // 00—11
|
||||
GpioCtrlRegs.GPAMUX2.all &= 0xFF00003F; // 19—27
|
||||
GpioCtrlRegs.GPBMUX1.all &= 0xFFFFFFC0; // 32—34
|
||||
GpioCtrlRegs.GPBMUX2.all &= 0x000FF000; // 48—53, 58—63
|
||||
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO20 = 0;
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO21 = 0;
|
||||
GpioCtrlRegs.GPADIR.bit.GPIO22 = 0;
|
||||
GpioCtrlRegs.GPBDIR.bit.GPIO51 = 0;
|
||||
|
||||
EDIS;
|
||||
|
||||
Mode=0;
|
||||
|
||||
qua=0;
|
||||
for(i=0;i<100;i++)
|
||||
qua += !GpioDataRegs.GPADAT.bit.GPIO22;
|
||||
if(qua>50) Mode += 1;
|
||||
|
||||
qua=0;
|
||||
for(i=0;i<100;i++)
|
||||
qua += !GpioDataRegs.GPADAT.bit.GPIO20;
|
||||
if(qua>50) Mode += 2;
|
||||
|
||||
qua=0;
|
||||
for(i=0;i<100;i++)
|
||||
qua += !GpioDataRegs.GPADAT.bit.GPIO21;
|
||||
if(qua>50) Mode += 4;
|
||||
|
||||
Addrr = Mode*2;
|
||||
|
||||
Mode+= 1;
|
||||
|
||||
qua=0;
|
||||
for(i=0;i<100;i++)
|
||||
qua += !GpioDataRegs.GPBDAT.bit.GPIO51;
|
||||
if(qua>50) Addrr += 1;
|
||||
|
||||
Desk = dsk_ICEE;;
|
||||
|
||||
EALLOW;
|
||||
switch(Desk)
|
||||
{
|
||||
case dsk_ICEE: GpioCtrlRegs.GPADIR.all = ICEE_GPADIR;
|
||||
GpioCtrlRegs.GPBDIR.all = ICEE_GPBDIR; break;
|
||||
}
|
||||
EDIS;
|
||||
}
|
||||
|
||||
void get_Inputs()
|
||||
{
|
||||
static long butthurt[2] ={0,0};
|
||||
unsigned long butt=0;
|
||||
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO7) butthurt[0]=0;
|
||||
else if(butthurt[0]<MAX_BUTTHURT) butthurt[0]++;
|
||||
if(butthurt[0]<MAX_BUTTHURT) butt = 0x01;
|
||||
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO6) butthurt[1]=0;
|
||||
else if(butthurt[1]<MAX_BUTTHURT) butthurt[1]++;
|
||||
if(butthurt[1]<MAX_BUTTHURT) butt+= 0x02;
|
||||
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO26) butt += 0x04; // êîíòğîëü íàïğàæåíèà +24V
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO23) butt += 0x08; // êîíòğîëü íàïğàæåíèà -24V
|
||||
|
||||
butt += 0x10 * !GpioDataRegs.GPBDAT.bit.GPIO51;
|
||||
butt += 0x20 * !GpioDataRegs.GPADAT.bit.GPIO22;
|
||||
butt += 0x40 * !GpioDataRegs.GPADAT.bit.GPIO20;
|
||||
butt += 0x80 * !GpioDataRegs.GPADAT.bit.GPIO21;
|
||||
|
||||
Inputs.all = butt;
|
||||
|
||||
KeyPressed = Inputs;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user