打印

PIC12F508 IO电平唤醒功能不能用

[复制链接]
4249|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
playpic|  楼主 | 2010-11-25 10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大虾,小弟在用PIC12F508 IO电平唤醒功能不能用。我初始化的时候已经把GPWU使能,所有IO设置为输入,接2个按键,有外部上拉,按键按下为低电平。主函数开始的地方有个LED灯,如果GPWUF为1,LED灯亮。

    OPTION=0x46;  
    TMR0=0x00;
    TRIS=0xFF;


后面进入休眠程序如下
     GPIO=GPIO;    //读IO状态
     asm("SLEEP"); //进入休眠模式
但是我按按键时,LED灯没有反映,无法唤醒MCU。

请问,上面写的代码是不是正确的?如果是正确的。造成无法唤醒的原因是什么?

谢谢指点!
沙发
chen3bing| | 2010-11-25 16:17 | 只看该作者
你那个口接按键,哪个口接灯?

使用特权

评论回复
板凳
chen3bing| | 2010-11-25 16:31 | 只看该作者
TRIS=0xFF;
你把端口都设成输入了,怎么点亮LED?

使用特权

评论回复
地板
XIEYUANBIN| | 2010-11-26 09:03 | 只看该作者
要注意的是12F508的端口唤醒功能会直接导致单片机复位,但这个复位是有标志、可追溯的,你可查相应的标志位来判断是否是唤醒复位。另外你要注意端口的消抖。

使用特权

评论回复
5
playpic|  楼主 | 2010-12-2 19:44 | 只看该作者
问题已经解决。谢谢楼上。改单片机无中断也,GPIO唤醒直接复位,我查询解决。

使用特权

评论回复
6
qzhui121| | 2010-12-10 14:32 | 只看该作者
不错啊,可以借鉴了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

21

帖子

1

粉丝