for循环死循环...

2019-07-19 21:38发布

各位大神,我在使用stm8s接收uart发来的一些数据,处理数据的过程校验包头有个for循环,结果死在这里面了,具体如下
 for(u8Index = 0; u8Index < sizeof(g_u8PureDataPrefix)-1; u8Index++) {
    Buf_Push(rx_ring, g_u8PureDataPrefix[u8Index]);
}
程序在这个for循环里死循环了,(sizeof(g_u8PureDataPrefix) - 1) = 4,结果u8Index=2执行了Buf_Push后u8Index就=0了...然后就这样一直无限循环跳不出来...
Buf_Push这个函数应该没有问题,这个问题只有在stm8跑了一会儿才会出,最开始发的一些数据都没有问题,只有运行了一段时间会出这个问题,然后就一直Push知道Push满了堆栈,死了...不知道大家有遇到过这个问题吗?
欢迎QQ交流,846497043
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。