找回密码
 立即注册
楼主: marchwang88

EEPROM写一个数据变成全扇区都同时这个数据,这是什么原因引起的?

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-02-08 00:46:28
已绑定手机

3

主题

7

回帖

96

积分

注册会员

积分
96
发表于 2025-1-5 14:00:18 | 显示全部楼层
Debu*** 发表于 2025-1-5 10:25
CBYTE是libc ABSACC.H中的定义,是一个指针,不是数值0,#include 即可

IAP_OFFSET是MOVC读的基地址,就 ...

上面的能理解, 并且也是这么换算的。
仔细看您的代码:原来读是要加上程序地址的, 写是不要加。 而我都把读写都加了程序地址。

感谢


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:10
  • 最近打卡:2025-02-08 00:46:28
已绑定手机

3

主题

7

回帖

96

积分

注册会员

积分
96
发表于 2025-1-5 14:04:20 | 显示全部楼层
Debu*** 发表于 2025-1-5 10:25
CBYTE是libc ABSACC.H中的定义,是一个指针,不是数值0,#include 即可

IAP_OFFSET是MOVC读的基地址,就 ...

感谢。发现问题了, 读是加了偏移量, 写是不要加偏移量的。  而我读写都加了偏移量引起。

点评

这个读是MOVC读,所以要加偏移地址 IAP读不需要加偏移地址 你用IAP读,就都不需要加偏移地址,都是从0开始 MOVC读速度较快,推荐使用  详情 回复 发表于 2025-1-6 13:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:482
  • 最近打卡:2025-06-30 09:00:25
已绑定手机

81

主题

5220

回帖

9339

积分

超级版主

DebugLab

积分
9339
发表于 2025-1-6 13:44:41 | 显示全部楼层
marchw*** 发表于 2025-1-5 14:04
感谢。发现问题了, 读是加了偏移量, 写是不要加偏移量的。  而我读写都加了偏移量引起。

...

这个读是MOVC读,所以要加偏移地址
IAP读不需要加偏移地址
你用IAP读,就都不需要加偏移地址,都是从0开始
MOVC读速度较快,推荐使用
IAP读(速度较慢,不推荐使用):
  1. unsigned char Iap_Read_Byte(unsigned char sector,unsigned int addr)
  2. {
  3.         unsigned char dat;
  4.         unsigned int add;
  5.         add=sector*0x0200+addr;
  6.         IAP_CONTR|=IAPEN;
  7.         IAP_TPS=IAP_TPS_;
  8.         IAP_CMD=IAP_READ;
  9.         IAP_ADDRL=add;
  10.         IAP_ADDRH=add>>8;
  11.         IAP_TRIG=0x5A;
  12.         IAP_TRIG=0xA5;
  13.         _nop_();
  14.         dat=IAP_DATA;
  15.         Iap_Idle();
  16.         return dat;
  17. }
复制代码


DebugLab
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-30 12:39 , Processed in 0.117295 second(s), 65 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表