Добавлена Data Stru
This commit is contained in:
parent
e7b5a84588
commit
d35c66f00d
BIN
Doc/Balsam 165 data stru.xls
Normal file
BIN
Doc/Balsam 165 data stru.xls
Normal file
Binary file not shown.
@ -113,13 +113,14 @@
|
||||
|
||||
#define cTermoCal Modbus[127].bit.bit4
|
||||
#define cKoefCalc Modbus[127].bit.bit5
|
||||
#define cSecretBt Modbus[127].bit.bit6
|
||||
|
||||
#define cUMPreset Modbus[127].bit.bit6
|
||||
#define cUMPstart Modbus[127].bit.bit7
|
||||
#define cInitDac Modbus[127].bit.bit8
|
||||
#define cCalibrDac Modbus[127].bit.bit9
|
||||
|
||||
#define cSecretBt Modbus[127].bit.bitA
|
||||
|
||||
/*
|
||||
#define cUMPstart Modbus[127].bit.bit8
|
||||
#define cUMPreset Modbus[127].bit.bit9
|
||||
|
@ -11,7 +11,6 @@
|
||||
#include "RS485.h"
|
||||
#include "message.h"
|
||||
|
||||
|
||||
// Prototype statements for functions found within this file.
|
||||
interrupt void CANa_handler(void);
|
||||
interrupt void CANa_reset_err(void);
|
||||
@ -50,26 +49,13 @@ void InitCan(int Port, int DevNum)
|
||||
// Configure CAN pins using GPIO regs here
|
||||
EALLOW;
|
||||
|
||||
// if(!Port)
|
||||
{
|
||||
ECanRegs = &ECanaRegs;
|
||||
ECanMboxes = &ECanaMboxes;
|
||||
ECanMOTORegs = &ECanaMOTORegs;
|
||||
ECanRegs = &ECanaRegs;
|
||||
ECanMboxes = &ECanaMboxes;
|
||||
ECanMOTORegs = &ECanaMOTORegs;
|
||||
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1;
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1;
|
||||
}
|
||||
#ifdef TUBER
|
||||
else
|
||||
{
|
||||
ECanRegs = &ECanbRegs;
|
||||
ECanMboxes = &ECanbMboxes;
|
||||
ECanMOTORegs = &ECanbMOTORegs;
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1;
|
||||
GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1;
|
||||
|
||||
GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 2;
|
||||
GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 2;
|
||||
}
|
||||
#endif
|
||||
// Configure the eCAN RX and TX pins for eCAN transmissions
|
||||
ECanRegs->CANTIOC.all = 8; // only 3rd bit, TXFUNC, is significant
|
||||
ECanRegs->CANRIOC.all = 8; // only 3rd bit, RXFUNC, is significant
|
||||
@ -148,23 +134,12 @@ void InitCan(int Port, int DevNum)
|
||||
ECanShadow.CANGIM.bit.GIL = 1;
|
||||
ECanRegs->CANGIM.all = ECanShadow.CANGIM.all;
|
||||
|
||||
// if(!Port)
|
||||
{
|
||||
PieVectTable.ECAN0INTA = &CANa_handler;
|
||||
PieCtrlRegs.PIEIER9.bit.INTx5=1; // PIE Group 9, INT6
|
||||
PieVectTable.ECAN1INTA = &CANa_reset_err;
|
||||
PieCtrlRegs.PIEIER9.bit.INTx6=1; // PIE Group 9, INT6
|
||||
}
|
||||
#ifdef TUBER
|
||||
else
|
||||
{
|
||||
PieVectTable.ECAN0INTB = &CANb_handler;
|
||||
PieCtrlRegs.PIEIER9.bit.INTx7=1; // PIE Group 9, INT6
|
||||
PieVectTable.ECAN1INTB = &CANb_reset_err;
|
||||
PieCtrlRegs.PIEIER9.bit.INTx8=1; // PIE Group 9, INT6
|
||||
}
|
||||
#endif
|
||||
IER |= M_INT9; // Enable CPU INT
|
||||
PieVectTable.ECAN0INTA = &CANa_handler;
|
||||
PieCtrlRegs.PIEIER9.bit.INTx5=1; // PIE Group 9, INT6
|
||||
PieVectTable.ECAN1INTA = &CANa_reset_err;
|
||||
PieCtrlRegs.PIEIER9.bit.INTx6=1; // PIE Group 9, INT6
|
||||
|
||||
IER |= M_INT9; // Enable CPU INT
|
||||
|
||||
EDIS;
|
||||
|
||||
@ -182,19 +157,8 @@ void CAN_send(int Port, int data[], int Addr)
|
||||
volatile struct ECAN_REGS * ECanRegs;
|
||||
volatile struct ECAN_MBOXES * ECanMboxes;
|
||||
|
||||
// if(!Port)
|
||||
{
|
||||
ECanRegs = &ECanaRegs;
|
||||
ECanMboxes = &ECanaMboxes;
|
||||
}
|
||||
#ifdef TUBER
|
||||
else
|
||||
{
|
||||
ECanRegs = &ECanbRegs;
|
||||
ECanMboxes = &ECanbMboxes;
|
||||
|
||||
}
|
||||
#endif
|
||||
ECanRegs = &ECanaRegs;
|
||||
ECanMboxes = &ECanaMboxes;
|
||||
|
||||
if(wait)
|
||||
if(!(ECanRegs->CANTA.all & 1))
|
||||
@ -293,49 +257,6 @@ interrupt void CANa_reset_err(void)
|
||||
PieCtrlRegs.PIEIER9.all = TempPIEIER;
|
||||
}
|
||||
|
||||
interrupt void CANb_handler(void)
|
||||
{
|
||||
#ifdef TUBER
|
||||
// Set interrupt priority:
|
||||
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
|
||||
IER |= M_INT9;
|
||||
IER &= MINT9; // Set "global" priority
|
||||
PieCtrlRegs.PIEIER9.all &= MG97; // Set "group" priority
|
||||
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
|
||||
EINT;
|
||||
|
||||
Handlai(&ECanbMboxes);
|
||||
|
||||
ECanbRegs.CANRMP.all = 2;
|
||||
PieCtrlRegs.PIEACK.bit.ACK9 |= 1;
|
||||
// Restore registers saved:
|
||||
DINT;
|
||||
PieCtrlRegs.PIEIER9.all = TempPIEIER;
|
||||
#endif
|
||||
}
|
||||
|
||||
interrupt void CANb_reset_err(void)
|
||||
{
|
||||
#ifdef TUBER
|
||||
// Set interrupt priority:
|
||||
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
|
||||
IER |= M_INT9;
|
||||
IER &= MINT9; // Set "global" priority
|
||||
PieCtrlRegs.PIEIER9.all &= MG98; // Set "group" priority
|
||||
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
|
||||
EINT;
|
||||
|
||||
ECanbRegs.CANTRR.all = 1;
|
||||
CanTimeOutErrorTR++;
|
||||
|
||||
PieCtrlRegs.PIEACK.bit.ACK9 |= 1;
|
||||
|
||||
// Restore registers saved:
|
||||
DINT;
|
||||
PieCtrlRegs.PIEIER9.all = TempPIEIER;
|
||||
#endif
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
// No more.
|
||||
//===========================================================================
|
||||
|
@ -154,7 +154,6 @@ void main()
|
||||
calc_temper_koef();
|
||||
}
|
||||
|
||||
|
||||
get_Buttons();
|
||||
|
||||
if(WAKEpowse) bTermoCal=0;
|
||||
|
@ -128,7 +128,6 @@ interrupt void cpu_timer1_isr_SENS(void)
|
||||
CanPowse = 0; CanGO = 1;
|
||||
}
|
||||
|
||||
|
||||
TST = cTestLamp;//|bTestLamp;
|
||||
|
||||
if(!sig.bit.Error|TST) toggle_READY();
|
||||
@ -507,7 +506,7 @@ modbus[0x64+chan]=Numb;
|
||||
// if(Desk == dsk_COMM)
|
||||
// if(ist) Current = -Current;
|
||||
|
||||
lev_count[chan] += (fabs(Current)-lev_count[chan])/1000.0;
|
||||
lev_count[chan] += (fabs(Current)-lev_count[chan])/(ADC_FREQ/5);
|
||||
|
||||
// Çàïîìíèì
|
||||
if(ist)
|
||||
@ -524,7 +523,7 @@ modbus[0x64+chan]=Numb;
|
||||
|
||||
if((sens_type[chan]==CURRENT)||(Desk==dsk_COMM))
|
||||
{
|
||||
ffLev += (fLev-ffLev)/1000.0;
|
||||
ffLev += (fLev-ffLev)/(ADC_FREQ/5);
|
||||
modbus[sens+DATASTART-1] = ffLev;
|
||||
}
|
||||
else
|
||||
@ -536,7 +535,7 @@ modbus[0x64+chan]=Numb;
|
||||
if(Desk==dsk_COMM) Numb = Current-aCurrent;
|
||||
else Numb =-Current-aCurrent;
|
||||
|
||||
lev_count[thrd] += (fabs(Numb)-lev_count[thrd])/1000.0;
|
||||
lev_count[thrd] += (fabs(Numb)-lev_count[thrd])/(ADC_FREQ/5);
|
||||
|
||||
Modbus[0x68 + (chan >>1)*3 + 0].all = lev_count[chan];
|
||||
Modbus[0x68 + (chan >>1)*3 + 1].all = lev_count[pair];
|
||||
|
@ -32,10 +32,10 @@ void get_Mode()
|
||||
|
||||
Mode=1;
|
||||
|
||||
if(!GpioDataRegs.GPBDAT.bit.GPIO51) Mode += 8;
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO22) Mode += 4;
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO20) Mode += 2;
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO21) Mode += 1;
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO20) Mode += 2;
|
||||
if(!GpioDataRegs.GPADAT.bit.GPIO22) Mode += 4;
|
||||
if(!GpioDataRegs.GPBDAT.bit.GPIO51) Mode += 8;
|
||||
|
||||
if( (Mode==adr_POW1)||(Mode==adr_POW2)||
|
||||
(Mode==adr_LOA1)||(Mode==adr_LOA2) ) Currentoz = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user