找回密码
 立即注册
查看: 63|回复: 7

stc8h8k64u掉电模式恢复后io口无法设置推挽模式

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2026-02-05 10:31:11

2

主题

6

回帖

22

积分

新手上路

积分
22
发表于 2026-2-5 10:31:11 | 显示全部楼层 |阅读模式


void main(void)
{
        delay_ms(100);


       
        //使能访问 XFR,没有冲突不用关闭
        EAXSFR();       

       
        // 开启p32中断0
        IT0 = 1;                        //INT0(P3.2)下降沿中断
        EX0 = 1;                        //使能INT0
       

       
        // 开启总中断
        EA = 1;
       

        // 高阻
       
        P2M0 = 0x00; P2M1 = 0xff;
        P2IE = 0x00;


       
        // 进入掉电模式
        PCON = 0x02;
        _nop_();
        _nop_();

        delay_ms(100);
        
        // 推挽
       
        P2M0 = 0xff; P2M1 = 0x00;
        P2IE = 0x00;
        P2 = 0xff;

        while(1)
        {
        }
}


测试程序如以上代码,掉电恢复后,io口无反应,请指教
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:634
  • 最近打卡:2026-03-06 13:57:21
已绑定手机

52

主题

2464

回帖

8728

积分

论坛元老

积分
8728
发表于 2026-2-5 11:18:25 | 显示全部楼层
你是通过什么判断IO口状态的?按照你的设置,唤醒后设置推挽输出后就输出高电平,并没有改变IO口状态。
此外唤醒后做数字引脚使用的话,P2IE要恢复数字输入功能。
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2026-02-05 10:31:11

2

主题

6

回帖

22

积分

新手上路

积分
22
发表于 2026-2-5 11:30:10 | 显示全部楼层
乘风*** 发表于 2026-2-5 11:18
你是通过什么判断IO口状态的?按照你的设置,唤醒后设置推挽输出后就输出高电平,并没有改变IO口状态。
此 ...

万用表直接测量就可以了,正常情况下,唤醒后,我这边确定低电平唤醒后引脚P2电平没有变化,另外我不需要数字输入功能
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:634
  • 最近打卡:2026-03-06 13:57:21
已绑定手机

52

主题

2464

回帖

8728

积分

论坛元老

积分
8728
发表于 2026-2-5 11:36:46 | 显示全部楼层
wjh8*** 发表于 2026-2-5 11:30
万用表直接测量就可以了,正常情况下,唤醒后,我这边确定低电平唤醒后引脚P2电平没有变化,另外我不需要 ...

你的唤醒引脚是P32,休眠唤醒前后P2脚电平是什么状态?
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2026-02-05 10:31:11

2

主题

6

回帖

22

积分

新手上路

积分
22
发表于 2026-2-5 11:39:58 | 显示全部楼层
乘风*** 发表于 2026-2-5 11:36
你的唤醒引脚是P32,休眠唤醒前后P2脚电平是什么状态?

P32高阻模式开启数字输入,用万用表测试电流,确定可以低电平触发并唤醒
P2掉电前设置为高阻模式,唤醒后设置为推完模式并全部输入高电平
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:634
  • 最近打卡:2026-03-06 13:57:21
已绑定手机

52

主题

2464

回帖

8728

积分

论坛元老

积分
8728
发表于 2026-2-5 12:07:23 | 显示全部楼层
烧录附件例子测试,例子通过串口跟P2口显示MCU工作状态
  1.                     P2M0 = 0x00; P2M1 = 0xff;
  2.                     P2IE = 0x00;
  3.                     
  4.                     printf("Sleep!\r\n");  //UART发送一个字符串
  5.                     PCON |= 0x02;   //Sleep
  6.                     _nop_();
  7.                     _nop_();
  8.                     _nop_();
  9.                     _nop_();
  10.                     _nop_();
  11.                     _nop_();
  12.                     _nop_();
  13.                     P2M0 = 0xff; P2M1 = 0x00;
  14.                     P2IE = 0x00;
  15. //                    P2 = 0x55;
  16.         
  17.                     switch(Source)
  18.                     {
  19.                         case 0:
  20.                             P2 = 0x55;
  21.                             printf("INT0 Wakeup!\r\n");
  22.                         break;
  23.                         case 1:
  24.                             P2 = 0xaa;
  25.                             printf("INT1 Wakeup!\r\n");
  26.                         break;
  27.                         case 2:
  28.                             printf("INT2 Wakeup!\r\n");
  29.                         break;
  30.                         case 3:
  31.                             printf("INT3 Wakeup!\r\n");
  32.                         break;
  33.                         case 4:
  34.                             printf("INT4 Wakeup!\r\n");
  35.                         break;
  36.                         default:
  37.                             P2 = 0xff;
  38.                             printf("Other Wakeup!\r\n");
  39.                         break;
  40.                     }
复制代码

截图202602051203286497.jpg

进入休眠前P2设置高阻输入,P2口连接LED灯全灭,通过不同唤醒源唤醒,P2口输出不同电平:
截图202602051207138744.jpg
截图202602051206205477.jpg

睡眠-外部中断唤醒-STC8.zip

17.32 KB, 下载次数: 2

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2026-02-05 10:31:11

2

主题

6

回帖

22

积分

新手上路

积分
22
发表于 2026-2-5 12:18:23 | 显示全部楼层
乘风*** 发表于 2026-2-5 12:07
烧录附件例子测试,例子通过串口跟P2口显示MCU工作状态

谢谢,我再试一下
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2026-03-07 11:27:49

12

主题

541

回帖

1260

积分

金牌会员

积分
1260
发表于 2026-2-27 17:10:17 | 显示全部楼层
wjh8*** 发表于 2026-2-5 12:18
谢谢,我再试一下

乘风***说的没错,我也遇到过
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-7 15:32 , Processed in 0.110414 second(s), 81 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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