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 吗?
我下班回去好好再看看视频
页: 1 2 3 4 [5]
查看完整版本: 被这个代码卡脖子了..有大佬伸出援助之手吗?