📄 fesc_5554_sxc.c
字号:
/******************************************/
/* @2 */
/* ---------------------- */
/* */
/******************************************/
void SXC_master_verify(uint8_t brd_no)
{
if( SXC.CH[brd_no].SXC_SR.B.master_fail_first
||(SXC.CH[brd_no].SELF_PCR.B.CNT != SXC.CH[brd_no].MATE_PCR.B.CNT)
)
{ SBP_Buf[brd_no].returnStat += SBP_RTSTUS_SXC_Veto;
dump_SXC_CH_info(brd_no);
dump_SBP_lastPack(brd_no);
printp(send_c_ESCIA_dpb,"n\r主控制板取2失败\n\r");
command_line_interface();
while(1){}
}
if( SXC.CH[brd_no].SXC_SR.B.slave_fail_first
||(SXC.CH[brd_no].SELF_WCR.B.CNT != SXC.CH[brd_no].MATE_WCR.B.CNT)
)
{ SBP_Buf[brd_no].returnStat += SBP_RTSTUS_SXC_Veto;
//--------- for slave debugging ------
if(SBP_debug_info[brd_no] & REPORT_SLAVE_FAIL)
{ printp(send_c_ESCIA_dpb,"IOC板同步有问题!\n\r");
dump_SXC_CH_info(brd_no);
}
}
}
/******************************************/
/* @2 */
/* ---------------------- */
/* */
/******************************************/
void dump_SXC_CH_info(uint8_t brd_no)
{
printp(send_c_ESCIA_dpb,"SXC info: B%d[%s] %d [SELF:%02X %02x %02X %02X] [MATE:%02X %02x %02X %02X]\n\r",
brd_no,
board_name[brd_no],
((uint8_t)SXC.CH[brd_no].SXC_SR.R & 0x03),
SXC.CH[brd_no].SELF_PCR.B.CNT,
SXC.CH[brd_no].SELF_WCR.B.CNT,
SXC.CH[brd_no].SELF_OUT_SPY_R.B.DATA,
SXC.CH[brd_no].SELF_IN_SPY_R.B.DATA,
SXC.CH[brd_no].MATE_PCR.B.CNT,
SXC.CH[brd_no].MATE_WCR.B.CNT,
SXC.CH[brd_no].MATE_OUT_SPY_R.B.DATA,
SXC.CH[brd_no].MATE_IN_SPY_R.B.DATA);
}
/******************************************/
/* @2 */
/* ---------------------- */
/* */
/******************************************/
void init_SXC(void)
{ uint8_t i;
for(i=0;i<8;i++)
{
SXC.CH[i].SXC_CR.B.PACKET_CNT_CLR = 1;
//SXC.CH[i].SXC_CR.B.PACKET_START = 1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -