求助:CAN无法发送

2019-08-17 04:01发布

如题:(就2个金币了 都给了)
利用原子哥的CAN  实验程序改动了一下,基本设置都没改  发现无法发送,
但是如果  我收到数据后  才可以发送  
想问一下,为什么CAN接收到数据后才可以发送?  如果接收不到数据就一直无法发送?

具体程序如下:(配置函数都用的 原子哥的程序)
int main(void)
{         
        u8 key;
        u8 i=0,t=0;
        u8 cnt=0;
        u8 canbuf[8] = {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01};
        u8 res;
       
        NVIC_Configuration();          
        CAN_Mode_Init(CAN_SJW_1tq,CAN_BS2_8tq,CAN_BS1_9tq,5,CAN_Mode_Normal);//我这是400K 波特率         
        while(1)
        {
                uint8_t flag =  Can_Receive_Msg(canbuf);  //  这一直接收
                uint8_t i,j;
                for(i=0;i<255;i++)
                {
                        for(j=0;j<255;j++);
                }
                res=Can_Send_Msg(canbuf,8);   //这一直发送  但是如果上面接收的数据接收不到  这的发送 就一直发不出去  

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。