最近一直被这问题困扰,今天才解决。
程序是跑在DSP28335上的,是串口接收另外一款处理器发来的数据,处理后发送给其他设备。
发现有时有些全局变量无缘无故被改变,而程序还在正常运行。感觉很奇怪,找了好几天问题,
后来发现是 串口接收在处理异常报文时有bug,导致里串口接收缓存数组越界,然后越界后就将其他的变量给改变了 。
用STM32时也遇到过数组越界,但这时候处理器是进硬件错误中断里了,没有像28335那样直接改变其他变量的,问下其他人有遇到过这种问题吗?
还有想请教下处理编程上注意外,其他还有什么办法防止数组下标越界吗?
程序是跑在DSP28335上的,是串口接收另外一款处理器发来的数据,处理后发送给其他设备。
发现有时有些全局变量无缘无故被改变,而程序还在正常运行。感觉很奇怪,找了好几天问题,
后来发现是 串口接收在处理异常报文时有bug,导致里串口接收缓存数组越界,然后越界后就将其他的变量给改变了 。
用STM32时也遇到过数组越界,但这时候处理器是进硬件错误中断里了,没有像28335那样直接改变其他变量的,问下其他人有遇到过这种问题吗?
还有想请教下处理编程上注意外,其他还有什么办法防止数组下标越界吗?