pic单片机,键盘控制,休眠唤醒后,五分钟内无任何操作,则又进入休眠状态,程序怎么写啊?

 我来答
jianghe706
2012-04-27 · TA获得超过5145个赞
知道大有可为答主
回答量:2213
采纳率:77%
帮助的人:806万
展开全部
你可以启动一个定时器,如每隔一定时间中断,如100ms中断一次,用一个寄存器如TIME来累计中断的次数,显然5分钟需中断3000次。
每次按键中断,程序让TIME清0。因此,只有在5分钟内都没按键,TIME才有可能达到3000。只有当TIME值大于3000时才让单片机进入休眠状态,即在定时器中断时,如果TIME的值超过3000就进入休眠。
更多追问追答
追问
因为涉及到功耗,所以单片机必须休眠。单片机还要接收发送数据,串口也中断唤醒。不知道这个sleep()函数该放在什么地方。
追答
这个得看你自己要让它什么时候休眠了,如果以按键的时间为标准,则要在定时器中断的地方,如果累计次数到了,让它休眠。但串口方面的,接收到数据立处理后即休眠,而发送数据,不知你是何时发送的?原则上发完也进入休眠,但要注意,必须是真的发完,而不是把数据放到发送缓冲区!!
总之,想节省功耗,这个sleep你自己想放在哪合适,我不知道你的整个程序过程,只能大概说这些了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式