Обе лампы могут управляться по CAN

This commit is contained in:
Dimas 2025-08-19 17:58:22 +03:00
parent ca3ffe0d98
commit 330f17d4e3
8 changed files with 956 additions and 932 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@ PHYSICAL MEMORY PARAMETERS
BOOT LOADER PARAMETERS
Table Type: SERIAL PORT (SCI 8 bit Mode)
Entry Point: 0x0000b4a9
Entry Point: 0x0000b50c
OUTPUT TRANSLATION MAP
@ -21,9 +21,9 @@ OUTPUT TRANSLATION MAP
--------------------------------------------------------------------------------
OUTPUT FILES: D:\project2833\GIT\UKSS_23550_2\bin\UKSSTMS320F28335.bin [b0..b7]
CONTENTS: 00000000..000072df BOOT TABLE
.cinit : dest=0000b5fe size=000001f3 width=00000002
.text : dest=00008000 size=000035fe width=00000002
CONTENTS: 00000000..000073ad BOOT TABLE
.cinit : dest=0000b661 size=000001f7 width=00000002
.text : dest=00008000 size=00003661 width=00000002
ramfuncs : dest=0000c13c size=0000002b width=00000002
.econst : dest=0000c000 size=00000111 width=00000002
.switch : dest=0000c168 size=00000028 width=00000002

Binary file not shown.

Binary file not shown.

View File

@ -91,7 +91,8 @@
#define CanRptLen modbus[0x67] // äëèíà ïîâòîðàåìîé ïîñûëêè «keys»
#define Bright (modbus+0x68) // àðêîñòü ñèãíàëüíûõ ëàìïî÷åê
#define Brightness modbus[0x68] // àðêîñòü ñèãíàëüíîé ëàìïî÷êè
#define Light (modbus+0x6A) // óïðàâëåíèå ëàìïîé
#define QuaLamp 7 // êîë-âî ñèãíàëüíûõ ëàìïî÷åê
#define m_FAST 0
@ -113,21 +114,24 @@
#define Protokol modbus[125]
#define LastMode modbus[126]
#define Commands modbus[127]
#define cTestLamp Modbus[127].bit.bit0
#define cDefParam Modbus[127].bit.bit1
#define cSaveParam Modbus[127].bit.bit2
#define cLoadParam Modbus[127].bit.bit3
#define cTermoCal Modbus[127].bit.bit4
#define cKoefCalc Modbus[127].bit.bit5
#define cSecretBt Modbus[127].bit.bit6
#define cCanReset Modbus[127].bit.bit7
#define cRawMeat Modbus[127].bit.bit8
#define cLiteFire Modbus[127].bit.bit9
#define cHighVolt Modbus[127].bit.bitA
#define cReset Modbus[127].bit.bitF
#define comand modbus[128]
#define bit_comand Modbus[128]
#define cTestLamp bit_comand.bit.bit0
#define cDefParam bit_comand.bit.bit1
#define cSaveParam bit_comand.bit.bit2
#define cLoadParam bit_comand.bit.bit3
#define cTermoCal bit_comand.bit.bit4
#define cKoefCalc bit_comand.bit.bit5
#define cSecretBt bit_comand.bit.bit6
#define cCanReset bit_comand.bit.bit7
#define cRawMeat bit_comand.bit.bit8
#define cLiteFire bit_comand.bit.bit9
#define cHighVolt bit_comand.bit.bitA
#define cReset bit_comand.bit.bitF
#endif //PACKAGE

View File

@ -60,6 +60,7 @@ void main()
int i,j,n,z,mask,qua;
static int rscount, cancount[2]={1,2},cancell[2]={0,0},candid[2]={0,0};
static unsigned int masca[8], presbyt;
static int precom=0;
RS_DATA * rs;
@ -123,6 +124,8 @@ void main()
CanRound[i]=
CanCycle[i]=0;
comand=0;
EALLOW;
SysCtrlRegs.WDCR= 0x2F;
EDIS;
@ -245,6 +248,10 @@ void main()
get_Buttons();
if(Commands!=precom)
comand = Commands & (~precom|comand);
precom = Commands;
if(cDefParam)
{
cDefParam=0;

View File

@ -115,26 +115,32 @@ interrupt void cpu_timer1_isr_SENS()
work_lamp = blink_over;
}
else
if(cLiteFire)
{
heat_lamp = 1;
work_lamp = 1;
}
else
{
if(Desk==dsk_BKSD)
if(Light[0] == 0)
{
if(sig.bit.Error) work_lamp = blink_over;
else work_lamp = 1;
if(bSecretBt|cSecretBt) work_lamp = blink_alarm;
}
else work_lamp = cHighVolt;
else if(Light[0] == 2) work_lamp = 1;
else if(Light[0] == 3) work_lamp = blink_over;
else if(Light[0] == 4) work_lamp = blink_alarm;
else if(Light[0] == 5) work_lamp = !blink_alarm;
else work_lamp = 0;
if(sig.bit.OverHeat) heat_lamp = 1;
else if(sig.bit.SubHeat) heat_lamp = blink_over;
else if(sig.bit.OutHeat) heat_lamp = !blink_alarm;
else heat_lamp = 0;
if(Light[1] == 0)
{
if(sig.bit.OverHeat) heat_lamp = 1;
else if(sig.bit.SubHeat) heat_lamp = blink_over;
else if(sig.bit.OutHeat) heat_lamp = !blink_alarm;
else heat_lamp = 0;
}
else if(Light[1] == 2) heat_lamp = 1;
else if(Light[1] == 3) heat_lamp = blink_over;
else if(Light[1] == 4) heat_lamp = blink_alarm;
else if(Light[1] == 5) heat_lamp = !blink_alarm;
else heat_lamp = 0;
} } }
void Init_sensors()
@ -213,8 +219,8 @@ void Init_packMask()
for(i=0;i<3; i++)
Maska[m_SLOW][i+3] = Maska[m_FAST][i]; // Óñòàâêè
Maska[m_SLOW][6]|=0x0300; // ßðêîñòü 2 ëàìï
Maska[m_SLOW][6]|=0x0F00; // ßðêîñòü è óïðàâëåíèå 2 ëàìï
if(Desk == dsk_BKSD)
Maska[m_SLOW][7]|=0x0003; // Êàëèáð òåðìîäàò÷èêîâ
else
@ -235,7 +241,8 @@ void Init_packMask()
Maska[m_SLOW][6]|= 0x00FF; // Ïåðèîäû ïîñûëîê
Maska[m_FAST][7]|= 0x0100; // Ñ÷åò÷èê ïîñûëîê
Maska[m_SLOW][7]|= 0x0E00; // Ñ÷åò÷èê ïîñûëîê
Maska[m_SLOW][7]|= 0xE000; // Ïðîòîêîë, àäðåñ, êîìàíäû
Maska[m_SLOW][7]|= 0x6000; // Ïðîòîêîë, àäðåñ
Maska[m_FAST][7]|= 0x8000; // Êîìàíäû
}
int er_anal(int term, long * count, int edge, int pre)