PIC12F508 IO电平唤醒功能不能用

[复制链接]
5391|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的端口唤醒功能会直接导致单片机复位,但这个复位是有标志、可追溯的,你可查相应的标志位来判断是否是唤醒复位。另外你要注意端口的消抖。
 楼主| playpic 发表于 2010-12-2 19:44 | 显示全部楼层
问题已经解决。谢谢楼上。改单片机无中断也,GPIO唤醒直接复位,我查询解决。
qzhui121 发表于 2010-12-10 14:32 | 显示全部楼层
不错啊,可以借鉴了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部