使用v6.96c 版本仿真, 仍然有变量显示错误问题, 明显觉得是传输出错!!!!!
看上图, 变量iv0, iv1, fv0, fv1 分别等于 1, 2, 3, 4; 通过程序传递到u0.dat.iv0, u0.dat.iv1, u0.dat.fv0, u0.dat.fv1应为 1, 2, 3, 4! 但结果不是这样!
测试条件: v6.95c; 使用STC8H8K64U 仿真, 系列频率36.864, 仿真使用串口P30, P31
另一个问题是仿真时变量数值会无故改变, 显然是串口传输时错位!!!!!!!!!!!!
更正一下: 测试条件: v6.96c; 使用STC8H8K64U 仿真, 系列频率36.864, 仿真使用串口P30, P31
使用 V6.96O 版仿真时发现, keil, watch 窗口数据显示不正确,退后到6.96C版, 显示还可以用, 仿真条件: 使用LINK1D 对 STC32G12K128 进行仿真!
使用 V6.96O 版仿真时发现, keil 的 watch 窗口中 ,对变量置数, 即改变变量数值的功能没有!!!!!! 仿真条件: 使用串口 对 STC8H8K64U 进行仿真! @36.864MHZ
V6.96O版软件, 使用LINK1D对STC32G12K128进行仿真异常的问题已找到
当使用SWD对STC32G12K128进行仿真时,用户程序中不可将CKCON寄存器设置为0,必须设置为1~7之间的值
CKCON设置为0时,SWD模式读写XDATA的地址总线会出错,从而会导致xdata 读写出错
终于找到了原因!{:ciya:}{:ciya:},谢啦!
V6.96O版软件, 使用LINK1D对STC32G12K128进行仿真异常的问题已找到
当使用SWD对STC32G12K128进行仿真时,用户程序中不可将CKCON寄存器设置为0,必须设置为1~7之间的值
CKCON设置为0时,SWD模式读写XDATA的地址总线会出错,从而会导致xdata 读写出错
在我看来,出错的地方是仿真时的串口传输问题,因为仿真全速运行 run时候是正常的,
只是显示的错误,实际数值正常,可以顺这个思路,进行验证,改进!!