在开发C51单片机时, 如果你使用中断+主程序一起读写全局变量时,有机会遇到各种奇怪的现象,怎么调都发现数值是不对的,这时候你应该检查一下以下几点:
1、 中断函数是否 采用了 using X? 如无必要,尽量不要使用 using 寄存器组,我被这个问题弄了2天。
2、全局变量如果定义时采用了 DATA 、XDATA 之类的修饰, 那么在使用指针引用全局变量时,也要加上这些修饰符。
在开发C51单片机时, 如果你使用中断+主程序一起读写全局变量时,有机会遇到各种奇怪的现象,怎么调都发现数值是不对的,这时候你应该检查一下以下几点:
1、 中断函数是否 采用了 using X? 如无必要,尽量不要使用 using 寄存器组,我被这个问题弄了2天。
2、全局变量如果定义时采用了 DATA 、XDATA 之类的修饰, 那么在使用指针引用全局变量时,也要加上这些修饰符。