vb2002
发表于 2024-8-7 09:57:15
Lkck8210 发表于 2024-8-7 08:54
刷扇区要一个一个刷,没看到代码
下面你的命令我没有改,我就把上面的数值改了一下
Lkck8210
发表于 2024-8-7 10:37:32
vb2002 发表于 2024-8-7 09:57
下面你的命令我没有改,我就把上面的数值改了一下
IapErase(EEPromAddrStr);
这句只能刷第一个扇区啊
IapErase(EEPromAddrStr+0x0200);//刷第二个
。
。
。
vb2002
发表于 2024-8-7 11:51:54
Lkck8210 发表于 2024-8-7 10:37
IapErase(EEPromAddrStr);
这句只能刷第一个扇区啊
IapErase(EEPromAddrStr+0x0200);//刷第二个
这样就可以写完4000个字节,然后从头刷新8个扇区了把?
Lkck8210
发表于 2024-8-7 14:13:18
vb2002 发表于 2024-8-7 11:51
这样就可以写完4000个字节,然后从头刷新8个扇区了把?
对,但没必要用那么多扇区
用两个扇区1024/2=512 x 10W = 51200000
当你每秒按一下,一年按3600 x 24 x 365 = 31536000
刷坏两个扇区要用 1.62年{:5_285:}
vb2002
发表于 2024-8-8 12:04:39
wnagming 发表于 2024-8-6 13:33
先试试把这几行注释掉
程序运行是没问题了.现在就是这switch里面看着怪怪的,
如果我想弄成正常那样的switchcase 要怎么改哦
我尝试了好几种办法都不行,想改成这种的,看起来直观一点
switch (state)
{
case 0:PWMA_CCR1 =5;break;
case 1:PWMA_CCR1 =35;break;
case 2:PWMA_CCR1 =155;break;
default:CCAP1H = 155; break;
}
vb2002
发表于 2024-8-8 12:48:49
wnagming 发表于 2024-8-8 12:36
用数组存储亮度值
code unsigned char Dat[] = {5,35,155,250};
往EEPROM中存储时直接存0,1,2,3。。
OK
我去试试加上数组
vb2002
发表于 2024-8-8 13:50:51
wnagming 发表于 2024-8-8 12:36
用数组存储亮度值
code unsigned char Dat[] = {5,35,155,250};
往EEPROM中存储时直接存0,1,2,3。。
不行,不能写入
然后我加入了写入代码, 然后数组读出来全是255
vb2002
发表于 2024-8-8 14:56:42
wnagming 发表于 2024-8-8 14:28
好好看看代码,变量用的一塌糊涂
定义数组 uuzu
定义变量 state
switch state
switch里面调用数组,
可以正常 串口独处eeprom在增加,
但是数组uuzu和state保持不变
我有试了在switch前面加 写eeprom
switch里面只调用变量,还是不行
vb2002
发表于 2024-8-8 16:37:33
wnagming 发表于 2024-8-8 16:18
state是干什么的,什么时候给state赋值了?
state不是能直接用switch赋值吗?
加一行state=uuzu 吗?
我下班回去好好再看看视频