会不会跟堆栈大小有关?调整系统堆栈大小试试。
因为用了UCOS,所以主堆栈用的空间很小,目前设置的是400,而且进入BUSFault的时候我也查过堆栈内容,没发现有溢出。 P_DataBuffer每次传入的都是uint32_t的数组么?
还有你长度bufLen在进入函数时是否判断下如
if (bufLen > xxx) while(1);
是否定义成如下会好些,P_DataBuffer在运算过程中是否有变化?计算返回的值如果不对你是怎么处理的?
uint32_t CRC_BufferGet(const uint32* P_DataBuffer, uint32_t bufLen)
页:
1
[2]