📄 priomid.c
字号:
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
temp16.BYTES.msB = U402_CDTOLR_HS3;
temp16.BYTES.lsB = U402_OCLT_DIS_75ms;
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
temp16.BYTES.msB = U402_DICR_HS0;
temp16.BYTES.lsB = (U402_DIR_DIS);
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
temp16.BYTES.msB = U402_DICR_HS1;
temp16.BYTES.lsB = (U402_DIR_DIS);
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
temp16.BYTES.msB = U402_DICR_HS2;
temp16.BYTES.lsB = (U402_DIR_DIS);
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
temp16.BYTES.msB = U402_DICR_HS3;
temp16.BYTES.lsB = (U402_DIR_DIS);
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
temp16.BYTES.msB = U402_UOVR;
temp16.BYTES.lsB = (U402_UV_EN | U402_OV_EN);
temp16 = ReadWriteSPI16bit(temp16);
CSB_U402 = 1;
WAIT_300ns; // waiting at least 300ns between CS - see datasheet MC33874
CSB_U402 = 0; // CSB U402 - PTK7
lastmsgU401.BYTES.msB = U402_OCR0;
lastmsgU401.BYTES.lsB = (U402_NO_HS);
temp16 = ReadWriteSPI16bit(lastmsgU402);
CSB_U402 = 1;
arrayTask[actual].priority = 0; // erase task from list
break;
case U403_START:
EN_U403 = 1; // Enable U403 - PAD18
CSB_U403 = 0; // CSB U403 - PAD13
lastmsgU403.BYTES.msB = U403_OPEN_LOAD_ON;
lastmsgU403.BYTES.lsB = U403_ALL_OFF;
temp16 = ReadWriteSPI16bit(lastmsgU403);
PT1AD1_PT1AD113 = 1;
PWMDTY6 = 0xFF; // Dimmable lights are OFF
PWMDTY7 = 0xFF;
arrayTask[actual].priority = 0; // erase task from list
break;
case U404_START:
CSB_U404 = 0; // Enable U404 - PTS7
temp24.comm = U404_SETTING_COMMAND;
temp24.data.w = U404_SETTING_BOARD;
temp24 = ReadWriteSPI24bit(temp24); //
CSB_U404 = 1;
for (i=0; i < WAIT_10; i++);
CSB_U404 = 0; // Enable U404 - PTS7
temp24.comm = U404_WETTING_SP_COMMAND;
temp24.data.w = U404_TIMER_SP_OFF_ALL;
temp24 = ReadWriteSPI24bit(temp24); //
CSB_U404 = 1;
for (i=0; i < WAIT_10; i++);
CSB_U404 = 0; // Enable U404 - PTS7
temp24.comm = U404_WETTING_SG_COMMAND;
temp24.data.w = U404_TIMER_SG_OFF_ALL;
temp24 = ReadWriteSPI24bit(temp24); //
CSB_U404 = 1;
for (i=0; i < WAIT_10; i++);
CSB_U404 = 0; // Enable U404 - PTS7
temp24.comm = U404_METALLIC_SP_COMMAND;
temp24.data.w = U404_METALLIC_SP_ALL_16mA;
temp24 = ReadWriteSPI24bit(temp24); //
CSB_U404 = 1;
for (i=0; i < WAIT_10; i++);
CSB_U404 = 0; // Enable U404 - PTS7
temp24.comm = U404_METALLIC_SG_COMMAND;
temp24.data.w = U404_METALLIC_SG_ALL_16mA;
temp24 = ReadWriteSPI24bit(temp24); //
CSB_U404 = 1;
for (i=0; i < WAIT_10; i++);
CSB_U404 = 0; // Enable U404 - PTS7
temp24.comm = U404_TRISTATE_COMMAND_SP;
temp24.data.w = U404_TRISTATE_OFF;
temp24 = ReadWriteSPI24bit(temp24); //
CSB_U404 = 1;
for (i=0; i < WAIT_10; i++);
CSB_U404 = 0; // Enable U404 - PTS7
lastmsgU404.comm = U404_TRISTATE_COMMAND_SG;
lastmsgU404.data.w = U404_TRISTATE_OFF;
temp24 = ReadWriteSPI24bit(lastmsgU404); //
CSB_U404 = 1;
arrayTask[actual].priority = 0; // erase task from list
break;
case U405_START:
CSB_U405 = 0; // CSB U405 - PAD23
lastmsgU405.comm = U405_SWITCH_STATUS;
lastmsgU405.data.w = U405_ZERO;
temp24 = ReadWriteSPI24bit(lastmsgU405); //
CSB_U405 = 1; // CSB U405 - PAD23
arrayTask[actual].priority = 0; // erase task from list
break;
case U501_START:
arrayTask[actual].priority = 0; // erase task from list
break;
case U601_START:
arrayTask[actual].priority = 0; // erase task from list
break;
case U602_START:
arrayTask[actual].priority = 0; // erase task from list
break;
case U604_START:
arrayTask[actual].priority = 0; // erase task from list
break;
case U605_START:
EN_U605 = 1; // Enable U605 - PK1
CSB_U605 = 0; // CSB U605 - PK5
temp16.BYTES.msB = U605_OPEN_LOAD_ON;
temp16.BYTES.lsB = U605_ALL_OFF;
temp16 = ReadWriteSPI16bit(temp16);
CSB_U605 = 1;
arrayTask[actual].priority = 0; // erase task from list
break;
case ANALOG_BUTTON_SELECTION:
CSB_U405 = 0;
lastmsgU405.comm = U405_ANALOG_COMMAND;
lastmsgU405.data.w = U405_ANALOG_SG10;
temp24 = ReadWriteSPI24bit(lastmsgU405); //
CSB_U405 = 1;
for (i=0; i < WAIT_60; i++);
ATD0CTL5 = ATD0CTL5_DJM_MASK | ATD0CTL5_CC_MASK; // ATD0 ch1, right justif., ch1 starts
while(!ATD0STAT0_SCF); // wait till conversion is completed + clear scf flag when set
temp16.w = ATD0DR0;
if BUTTON_NO_BUTTON
temp16.w = 0;
if BUTTON_1
temp16.w = 1;
if BUTTON_2
temp16.w = 2;
if BUTTON_1_2
temp16.w = 12;
if BUTTON_3
temp16.w = 3;
if BUTTON_1_3
temp16.w = 13;
if BUTTON_2_3
temp16.w = 23;
if BUTTON_1_2_3
temp16.w = 123;
if BUTTON_4
temp16.w = 4;
if BUTTON_1_4
temp16.w = 14;
if BUTTON_2_4
temp16.w = 24;
if BUTTON_1_2_4
temp16.w = 124;
if BUTTON_3_4
temp16.w = 34;
if BUTTON_1_3_4
temp16.w = 134;
if BUTTON_2_3_4
temp16.w = 234;
if BUTTON_1_2_3_4
temp16.w = 1234;
fm_analog5 = temp16.w;
arrayTask[actual].priority = 0; // erase task from list
break;
default:
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -