在线时间0 小时
UID354945
注册时间2012-4-24
NXP金币0
该用户从未签到
新手上路

- 积分
- 62
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2013-11-11 16:41:16
|
显示全部楼层
回复:codewarrior 在EEE调试的问题。
回复第 2 楼 于2013-11-11 10:14:46发表:
如果是只读取值的话直接读取地址就可以了,如果是要写入的刷要用擦写命令来做.楼主方便把工程贴出来吗?这样大家好帮忙分析.
您说的是EEE的读写方法。而我在尚未ENABLE_EEE之前向EEPROM的地址0xE00位置处写入某个值,这个写入的值在codewarrior的调试界面memory里没有发现,即memory窗口显示0xE00地址的值没有改变。但是如果用另一条语句来读这个地址的值,却发现这个地址的值已经赋给了设定值。如下所示:
void main(void) {
byte *eee_p;
byte a,b;
eee_p = (byte *) 0x0E00; /* 定义指针指向0xE00.*/
*eee_p = 0x55; /* 赋值为0x55,然后在memory窗口里查看地址0xE00的值(全局地址0x13FE00),没有变成0x55*/
/* 在data窗口里查看eee_p的值也没有变成0x55*/
a = *eee_p; /* 赋值给a,在data 窗口查看a的值为0x55*/
b = * (volatile byte *) 0x0E00; /* 取地址0xE00的值给b,在data窗口查看b的值为0x55*/
.........
}
我猜测可能是codewarrior的调试设置问题,我设置了周期性更新或自动更新,但是在同一个data窗口里,a,b的值都变化了,eee_p的值却不变化。不知道为什么。
请指导,谢谢。 |
|