⑴ 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語句就是防止接收循環隊列溢出