OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 806|回复: 7

在单片机编程中如何记住led的状态(亮度),只靠标志位

[复制链接]

  离线 

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-11-11
在线时间
4 小时
发表于 5 天前 | 显示全部楼层 |阅读模式
1金钱
有一个单片机问题,单按键,短按就是开,然后短按一次进入一个状态(一种亮度);长按2秒或以上就关机;

问题来了,再短按,开机还是长按结束之前的状态(亮度是之前的)。不使用rom,flash什么的,就是靠程序。

高人指点下吧,给点思路也是好的。
搞了一天了,没实现。

最佳答案

查看完整内容[请看2#楼]

必须有存储器存储IO状态,否则肯定是不行的。
回复

使用道具 举报

  离线 

497

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
128098
金钱
128098
注册时间
2010-12-1
在线时间
1130 小时
发表于 5 天前 | 显示全部楼层
必须有存储器存储IO状态,否则肯定是不行的。
回复

使用道具 举报

  离线 

3

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
635
金钱
635
注册时间
2014-2-24
在线时间
230 小时
发表于 5 天前 | 显示全部楼层
这个问题好比老师写在黑板上的笔记,你不能记下来,擦除黑板后你要给我说出老师写了什么,你觉得这合理吗。。。
回复

使用道具 举报

  离线 

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-11-11
在线时间
4 小时
 楼主| 发表于 5 天前 | 显示全部楼层
小小怪 发表于 2018-6-13 09:02
这个问题好比老师写在黑板上的笔记,你不能记下来,擦除黑板后你要给我说出老师写了什么,你觉得这合理吗。 ...

可以的。记忆分2种,带电和断电,flash rom什么的都是属于断电记忆。接着电源,但是开关机,属于带电记忆。别人已经做过了,我不会,所以才发问。
回复

使用道具 举报

  离线 

3

主题

108

帖子

0

精华

高级会员

Rank: 4

积分
635
金钱
635
注册时间
2014-2-24
在线时间
230 小时
发表于 4 天前 | 显示全部楼层
正点原子公众号
tianqi911 发表于 2018-6-13 18:01
可以的。记忆分2种,带电和断电,flash rom什么的都是属于断电记忆。接着电源,但是开关机,属于带电记忆 ...

你这里所说的开关机是带电开关机的话,也就是MCU睡眠的问题了,关机->MCU进入深度睡眠模式,开机->唤醒MCU,睡眠前MCU的IO和RAM醒来后是不会改变的,可以实现你这个做法。
回复

使用道具 举报

  离线 

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-11-11
在线时间
4 小时
 楼主| 发表于 4 天前 | 显示全部楼层
小小怪 发表于 2018-6-14 10:37
你这里所说的开关机是带电开关机的话,也就是MCU睡眠的问题了,关机->MCU进入深度睡眠模式,开机->唤醒MC ...

状态机方法可以实现。参考了一本书,老外写的 《状态机用C/cpp实现》,名字大概是这个。受到了刺激,才实验出来。基本原理:用状态机记录下case的值,开关机前后的led亮度就是一样的。
回复

使用道具 举报

  离线 

6

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
292
金钱
292
注册时间
2018-5-11
在线时间
58 小时
发表于 4 天前 来自手机 | 显示全部楼层
这个应该容易吧。stm32有后备存储器,将状态信息存储下来,只要不掉电都不会挥发的,下次开机后直接从后备存储器读状态信息并恢复不就行了么
回复

使用道具 举报

  离线 

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2015-11-11
在线时间
4 小时
 楼主| 发表于 3 天前 | 显示全部楼层
warship 发表于 2018-6-14 14:00
这个应该容易吧。stm32有后备存储器,将状态信息存储下来,只要不掉电都不会挥发的,下次开机后直接从后备 ...

不用的。就是标志位,case,ifelse.
回复

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-6-18 19:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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