解决debug仿真出现:access violation at …………: no ‘write’ permission的问题
https://blog.csdn.net/guguizi/article/details/48731991?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
debug查看某个变量值的变化:
进入仿真界面
比如要观察局部变量i、j、k的值,首先将变量选中,然后右键选择 Add “i” to Watch1
keil中共有两个观察窗口,这里选择Watch1,依次将 j、k也添加到观察窗口中。
然后在观察窗口中,变量上点击鼠标右键,将十六进制显示去掉。这样显示的变量就是十进制格式,方便观察。这时候单步执行程序,或者将程序执行到断点处,就可以看到变量值的变化了。
局部变量在全速运行过程中观察不到,只有程序暂停时才能看到局部变量值。或者可以将局部变量声明为 volatile 类型,不让编译器对局部变量进行优化,这样将局部变量声明为volatile类型后,全速运行时就能看到变量值变化了。
程序中vu16类型 就是volatile unsigned short int类型。也可以将局部变量改为全局变量,这样全速运行时也能看到变量值变化。
将三个变量放到主函数外,然后选择view菜单下的 periodic window update
这时候全速运行程序,在观察窗口就能看到变量值在实时改变。