⑴ c语言用数组做循环接收队列的问题
for (i=CAN_recv_head,INC3(i);i!=CAN_recv_head;INC3(i)) 后面有没有;?
或者if(id3==CAN_recv_queue[i]) IRET //收到重复包 后面缺少{}?
如果for (i=CAN_recv_head,INC3(i);i!=CAN_recv_head;INC3(i)) 后面有;,
可能是进行队列遍历,等待外部中断,如果队列遍历一圈都没等到外部中断,就退出for语句,后面估计有延时错误处理,
如果for语句后面没有;,那就是和if语句一起的,则if语句后面可能缺少{},
那么for语句就是防止接收循环队列溢出