wulin 发表于 2021-12-14 16:57
不必按照扇区顺序操作,可以选择在有效扇区范围内任意扇区的任意地址读写。一般从0开始读写,不易人为出错 ...
LAW1100 发表于 2021-12-14 17:59
但实际上却不能存入数据,没作用,只有第一扇区有作用,不知道那里出错了
wulin 发表于 2021-12-14 20:25
代码不全,神仙也不知道那里出错了。
LAW1100 发表于 2021-12-15 08:06
代码是模块化的,太多了,上传这里你们看了要花大量时间理解,用的芯片是STC8H1K08这款的
wulin 发表于 2021-12-15 11:40
不能正常读写eeprom的常见原因是受中断干扰或VCC电压不稳且过低。
LAW1100 发表于 2021-12-15 08:06
代码是模块化的,太多了,上传这里你们看了要花大量时间理解,用的芯片是STC8H1K08这款的
188610329 发表于 2021-12-15 14:11
所以说, 一直强调,要先说芯片型号, 就是没人听。
进入 Main 以后 一定要写一句:
实验2-16-1:片内FLASH读写 - 单个字节(STC8H3K64S4).rar
1.16 MB, 下载次数: 27
LAW1100 发表于 2021-12-15 14:31
这位大佬,这一句为什么要特别加在Main里呢,例程和手册也没说明。我在另一模块设置里也有这句.
/****** ...
wulin 发表于 2021-12-15 17:40
void IapProgram(u16 addr, u16 dat) 这样写形参 u16 dat 的依据是什么?
LAW1100 发表于 2021-12-15 17:44
u16这是在另一模块宏定义无符号变量的缩略
LAW1100 发表于 2021-12-15 09:44
如果将数据全部放在第一扇区,也是只有第一个数据能读出来,其它数据很大(FFH)不是原来数据,存不了
wulin 发表于 2021-12-15 20:07
就从你的答复看,你根本没有理解我为什么这么问。难道你把无符号字符型数据宏定义为u16?由此推断你的程 ...
188610329 发表于 2021-12-15 18:47
先说 你 main() 函数里的问题
TempSum=IapRead(0x0001);//读第一扇区
TempSum=TempSum
wulin 发表于 2021-12-15 20:07
就从你的答复看,你根本没有理解我为什么这么问。难道你把无符号字符型数据宏定义为u16?由此推断你的程 ...
dzbj 发表于 2021-12-16 00:07
18 19楼两位大佬 跟风讨论一下这句 void IapProgram(u16 addr, u16 dat)
第一个用u16没问题 是地址 1 ...
dzbj 发表于 2021-12-16 00:07
18 19楼两位大佬 跟风讨论一下这句 void IapProgram(u16 addr, u16 dat)
第一个用u16没问题 是地址 1 ...
dzbj 发表于 2021-12-16 00:07
18 19楼两位大佬 跟风讨论一下这句 void IapProgram(u16 addr, u16 dat)
第一个用u16没问题 是地址 1 ...
wulin 发表于 2021-12-16 08:38
不是说这样写一定会出错,而是说写代码要严谨,要养成好习惯。从这点推断楼主的程序中类似问题可能还有。 ...
LAW1100 发表于 2021-12-16 08:20
第二扇区存入的是8位数据,它的数值很小(要么是0,要么是1或2)用来区分读取那个区块功能,如:if(0==ca ...
LAW1100 发表于 2021-12-17 08:56
已经找到问题原因了,多谢各位热心解答。
lkc8210 发表于 2021-12-17 10:54
不说一下问题原因吗?
让后人遇到相同问题有一个解决的方向
LAW1100 发表于 2021-12-16 08:12
(TESample)这个是AD值与设定值相加减后的数值,存入第三扇区第4和5的地址(因为是16位,所以拆分8位存 ...
188610329 发表于 2021-12-17 19:44
仔细看 在18楼问你的问题,
TESample=IapRead(0x0404);//读第三扇区
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |