#define NUM_OF_ECAN_BUFFERS 32unsignedintecan1MsgBuf[NUM_OF_ECAN_BUFFERS][8]_.((aligned(NUM_OF_ECAN_BUFFERS*16)))、void EcanRxInit(){C1CTRL1bits.REQOP=4;//set in configura
tion mode(C1CTRL1bits.OPMODE!4;EcanClkInit();C1FCTRLbits.DMABS=3;DMABS=3;//12FiFO C1FCTRL比特.FSA=3;//12FiFO中FiFOC1FCTRLC1FCTRLTTCTRL比特=3;//FiFo计数从第三缓冲区//C1FCFCFCTRL=0FSA=3;//FiFo计数从第三缓冲区//C1FCFCTRL=0FFFFFFFFFFF计数,32缓冲区Dma1RXInit()//32缓冲区Dma32缓冲区Dma1RXInit();;C1CTRLLLL1比特1C1CTRLL1比特1比特.WIN=1=1.WIN=1;;;;;F0MSK=0x0;/*C配置接受过滤器掩码0寄存器以掩码SID<2:0>*掩码位(11位):0b1111111 1111*/C1RXM0SIDbits.SID=0b11111111111;//C1RXM1SIDbits.SID=0b11111111111;/*配置接受过滤器0以匹配标准标识符-Filter位(11位):0b011010xxxSeD范围0x1D0~0x1D7的消息将被ECAN模块接受。*/C1RXF0SIDbits.SID=0b00000000000;/*Acceptance Filter 0检查标准标识符*/C1RXM0SIDbits.MIDE=0x1;C1RXF0SIDbits.EXIDE=0x0;g消息*/C1FEN1bits.FLTEN0=0x1;/*访问ECAN控制寄存器的清除窗口位*/C1CTRL1bit.WIN=0x0;C1TR23CONbits.TXEN2=0;C1TR23CONbits.TX2PRI=0b11;/*将ECAN模块置于正常模式。*/C1CTRL1BIT.ReQOP=0;而(C1CTRL1BITS)OPMODE!(0);}无效EcanClkInit()}无效EcanClkInit(){C1CTRL1位.CANCKS=0x0;C1CFCFCFG1位C1CFCFG1位C1CFG1C1CFG1位SJJW=0x3;SJJW=0x3;//同步seg seg=1tqC1CFG1C1CFG1位1tq=1tqC1CFG1G1C1CFG1位1tq=1tq,BRP=BRP=BRP_VAL;C1CFCFCFCFCFG2G2G2G2G2=BRP=BRP=BRP_BRP_BRP_VAL;C1CFG2G2G2G2G2G2G2G2G2=BRCFCFG2=BRCFG2=BRCFP=BRP_CFP G2bits.PRSEG=0x4;//proseg=3tq C1CFG2bits.SAM1; //总线线路在采样点//C1CFG2位采样3次,采样3次,采样3次,采样3次,采样点为//C1CFG2G2位。WAKFIL=1;}WAKFIL=1}void_u vo_u.u.u.u.(u中断_(u中断_(u中断_(u中断_(u中断(u截止_u中断_u auto_u auto_psv))DMA1中断(无效{{{{{如果(IFS0比特(IFS0bits.DMA1bits.DMA1bits.DMA1IF1IF位s.DMA1IF1IFprintf("%c),ecan1MsgBuf[2][3]&0xFF); printf("%c",(ecan1MsgBuf[2][4]&0xFF00) >> 8); printf("%c",ecan1MsgBuf[2][4]&0xFF); printf("%c",(ecan1MsgBuf[2][5]&0xFF00) >> 8); printf("%c",ecan1MsgBuf[2][5]&0xFF); printf("%c",(ecan1MsgBuf[2][6]&0xFF00) >> 8); printf("%c",ecan1MsgBuf[2][6]&0xFF)C1RXFUL1bits.RXFUL2=0;printf("nr");}IFS0bits.DMA1IF=0;}我已经如上所述进行了ecan接收。接收缓冲区将在我的接收节点的Tx管脚被拔出并重新连接时获得数据。我已经结束了我的巴士使用120欧姆电阻在两侧。我应该怎么做继续接待……?