找回密码
 立即注册
查看: 868|回复: 13

凌晨4点半,搞定..eeprom掉电保存搞定哈哈哈哈哈哈哈

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-8-2 04:22:37 | 显示全部楼层 |阅读模式
凌晨4点半,搞定..eeprom掉电保存搞定哈哈哈哈哈哈哈

机械手电的代码有点雏形了
可以断电换挡了
不过还有点需要完善的地方,就是记忆换挡,500ms 以内开关换挡,
500ms以后打开,读取上一次的亮度
还有快速关断 2次,爆闪,3次极亮
截图202408020422328741.jpg

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-8-2 04:26:00 | 显示全部楼层
4个档位,  占空比分别是 1月光,5微量,15常量,55常高亮...三击250 极亮.(未完善),,掉电500ms以上读取上次占空比(未完善)
截图202408020423597377.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-8-2 04:28:50 | 显示全部楼层
500ms需要 开启定时器功能
但是这里有一点没想清楚,,机械开关,关的时候,是断电的,也就是单片机没有电源,这个时候怎么计时?
另一个思路是用电容保存一点点电,,,还没想清楚.
希望大佬指点指点
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:449
  • 最近打卡:2025-04-30 10:57:37

17

主题

533

回帖

1326

积分

金牌会员

积分
1326
发表于 2024-8-2 05:40:41 | 显示全部楼层
代码发出来学习下
自信就会温和,温和就会坚定!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:375
  • 最近打卡:2025-04-26 15:51:33
已绑定手机

27

主题

301

回帖

822

积分

高级会员

积分
822
发表于 2024-8-2 08:49:04 | 显示全部楼层
wnag*** 发表于 2024-8-2 05:26
机械开关不要控制电源,将其接到IO口上,开关机给单片机信号,关机单片机进入省电模式 ...

是的 接外部中断引脚上。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-8-2 09:28:32 | 显示全部楼层
单片机不断电,进入省电模式
或刚上电的500ms内断电就换挡(上电就换挡,500ms后如没断电再换回去)
这样通电一次擦写2次EEPROM,需要注意EEPROM擦写次数10万次寿命
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-8-2 11:03:50 | 显示全部楼层
Debu*** 发表于 2024-8-2 09:28
单片机不断电,进入省电模式
或刚上电的500ms内断电就换挡(上电就换挡,500ms后如没断电再换回去)
这样通 ...


机械开关的手电必须要断电的.
关于 您说的注意eeprom擦写寿命,..您看看他说的这个对吗? 可实行吗?

截图202408021102342641.jpg

点评

那就开机瞬间状态+1,500ms后没关机就再还原 对,只有擦除消耗寿命  详情 回复 发表于 2024-8-2 11:28
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-8-2 11:05:50 | 显示全部楼层
wnag*** 发表于 2024-8-2 05:26
机械开关不要控制电源,将其接到IO口上,开关机给单片机信号,关机单片机进入省电模式 ...

这个怕是不行.机械开关通常设计在手电尾部.
GND考手电桶身导电
要走大电流的. 8安左右
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:350
  • 最近打卡:2025-05-01 00:32:14
已绑定手机

130

主题

1520

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-8-2 11:07:04 | 显示全部楼层
嵌入*** 发表于 2024-8-2 05:40
代码发出来学习下

乱七八糟写的,我不好意思放出来.

void main()
{               
        char dat = 0;

        sys_init();  

       
       
    UartInit();
//    IapErase(add);
//    IapProgram(add, 0);       

        state=IapRead(add);       
        if(state<=3)
        {
        state++;
        }
        else
                state=1;
       
    IapErase(add);
    IapProgram(add, state);

    UartSend(IapRead(add));

            PWMA_CCR1 = state;   
                 



               
//        if(temp != 0xFF) number = temp;         
       
          while(1)
        {
      
       

              
          
               

        switch(state)
        {
                case 0 :  PWMA_CCR1 = 5;   break;
                case 1 :  PWMA_CCR1 = 15;   break;
                case 2 :  PWMA_CCR1 = 55;   break;
                case 3 :  PWMA_CCR1 = 250;   break;
                default:break;
        }

        }
         
       
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:423
  • 最近打卡:2025-05-01 07:10:25
已绑定手机

76

主题

4833

回帖

8343

积分

超级版主

DebugLab

积分
8343
发表于 2024-8-2 11:28:28 | 显示全部楼层
vb2*** 发表于 2024-8-2 11:03
机械开关的手电必须要断电的.
关于 您说的注意eeprom擦写寿命,..您看看他说的这个对吗? 可实行吗?

那就开机瞬间状态+1,500ms后没关机就再还原
对,只有擦除消耗寿命
DebugLab
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-1 23:41 , Processed in 0.151985 second(s), 120 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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