我们使用KEIL软件,可以方便的设置I/O或其他内部设备寄存器值来模拟调试程序.可在ADS1.2中好像没有专用的窗口来设置I/O口值以模拟输入输出.至少现在我还不知道.要是那为大虾知道,告诉我一下啊.
不过在模拟调试时很多情况需要模拟输入,以便顺利调试程序.其实ARM的所有存储空间以及寄存器都是统一编址,所以我们在调试时打开MEMORY窗口,我们可以找到所有的寄存器.
那好,我们是否可以通过修改其中的值以达到模拟输入的功能呢.
显然是可以的,我以P0为例,假如需要在P0的0脚输入高电平,在模拟调试时我们在MEMORY窗口的0xe0028000(IO0PIN的首地址),连续四个字节内容是分别代表P0的0-31口的状态,那么我把0xe0028000(代表0-7口)中的内容改为0x01,就代表在0断口输入高电平,只要程序执行到相应的IF语句(假设是判定0口为高电平),就可以顺利执行IF后的程序.
这样用模拟调试方法对一些简单的程序还是完全可以调通的啊. |