标题: keil5调试单片机程序问题,有没有大牛帮忙看看这是为什么 [打印本页]

作者: 小狼阿泰    时间: 2018-1-19 19:12
标题: keil5调试单片机程序问题,有没有大牛帮忙看看这是为什么
这是用keil5调试时候的截图,time[6]=0x17,右移4位,加上0x30,应该等于0x31,但是结果却是0x50,有的时候还会等于0x70.
想不明白为什么,char类型的数据右移4位高位不应该是0么!是keil5右移符号的问题么?


作者: cccc888    时间: 2018-1-19 20:16
可能是软件的问题,也可能是数据在其他地方被修改,如多线程程序中。
作者: 小狼阿泰    时间: 2018-1-19 20:41

刚才用汇编调试的时候,发现正确的值在r6寄存器里边,但是却是用A寄存器里的值加的'0',有懂汇编的老师知道这是为什么吗?为什么要把r6和A里的值交换

作者: 小狼阿泰    时间: 2018-1-19 21:00
cccc888 发表于 2018-1-19 20:16
可能是软件的问题,也可能是数据在其他地方被修改,如多线程程序中。

是keil软件的问题吗?别的不可能改啊,我这个程序只是ds1302显示在lcd上的
作者: 立里    时间: 2018-1-20 09:22
有些参数在中断里面和在主程序里面都会调用的话,最好在定义这个参数的时候加一个修饰符volatile。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1