片内EEPROM怎么用C实现读取操作??

[复制链接]
2034|4
手机看帖
扫描二维码
随时随地手机跟帖
wind21ic|  楼主 | 2009-7-24 10:39 | 显示全部楼层 |阅读模式
新手,如题。用code类型的指针吗?怎么老是编译出错?
wind21ic|  楼主 | 2009-7-24 11:35 | 显示全部楼层

附上这部分自己写的代码

unsigned char reader(unsigned int addr_str){
    unsigned int   read_data;
    unsigned int code *read_addr;
           EA=0 ;                                                               FLASHCON = 0x01;                            
    read_addr =(int code*)addr_str;        
    read_data =*read_addr;            
    
    FLASHCON  = 0x00;                   
    EA = 1;
    return read_data;

其中addr_str是E方的起始地址0x0000;
编译时老是提示说被外部编辑修改,要RELOAD。这导致了调试时窗口看不到变量变化。

使用特权

评论回复
wind21ic|  楼主 | 2009-7-30 15:41 | 显示全部楼层

半结贴

编译时老提示被外部变量更改是因为main.src没关(汗一个、、、),由于每次编译要生成,所以,没关main.src的话会提示出错。
另外,可以采用汇编嵌入的方法,虽然说不是完全的C,但也勉强算是解决了。
asm movc a,@a+dptr

使用特权

评论回复
iammercy| | 2009-7-30 18:00 | 显示全部楼层

RE

请问你是不是用flash当eeprom用然后要读片内flash的数据??
直接读CODE区内容就可以了,CODE内容定义成数组来读

使用特权

评论回复
風神| | 2009-7-31 11:49 | 显示全部楼层

之前用code试过,似乎不行

之前用code定义指针,结果没能成功访问到EEPROM。问过其他人,中颖的是类EEPROM,他们说那样访问到的是内部FLASHROM,而不是EEPROM。

换马甲了,以后用这个马甲在坛子里混。呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝