ATCAN90128单片机问题求助!!

2019-03-24 20:37发布

我采用的是ICCAVR7.22进行编译,AVRStudio4.18进行调试,仿真器为JTAG_MKII
编写的程序不是很复杂,包括串口中断、AD中断和定时器中断在硬件仿真时出现问题
计算乘法时,计算数据错误,如下:
double A
double B
unsigned int C
C=(unsinged  int)(A*B),通过观察变量,A、B数据正确,但是C数据错误,C数据比较随机,
不知道受什么影响?观察过硬件堆栈和软件堆栈边界值0xaa没有被修改,应该是没有溢出。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
emyhx
1楼-- · 2019-03-24 22:17
问题补充,并不是每次都出错,偶尔会出现错误!
ltbytyn
2楼-- · 2019-03-25 02:37
大数据时溢出了吧。自己在查查
emyhx
3楼-- · 2019-03-25 06:45
数据没有溢出,观察A与B数据都是正常的,就是乘积后错误,觉得是程序内部中断影响,或者是编译器设置问题,就是硬件堆栈设置。
ltbytyn
4楼-- · 2019-03-25 07:28
 精彩回答 2  元偷偷看……
ltbytyn
5楼-- · 2019-03-25 11:22
否则就会出现上面的问题。
emyhx
6楼-- · 2019-03-25 12:42
硬件仿真观察过,在出现计算错误的时候,硬件堆栈边界值没有改变,推断没有溢出!!

一周热门 更多>