找回密码
 立即注册
查看: 1259|回复: 8

Ai8H单片机休眠后如何判断是被那个中断唤醒的?

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2026-03-27 08:38:45
已绑定手机

4

主题

8

回帖

320

积分

中级会员

积分
320
发表于 2024-11-20 10:53:12 | 显示全部楼层 |阅读模式
本帖最后由 DebugLab 于 2024-11-20 10:59 编辑

Ai8H单片机进入休眠后设置了RTC,uart1,uart2唤醒,如何判断是那个中断唤醒的?
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:184
  • 最近打卡:2026-03-17 13:46:23

24

主题

244

回帖

1453

积分

金牌会员

积分
1453
发表于 2024-11-20 11:10:18 | 显示全部楼层
唤醒后会进中断,可以在中断函数中判断
截图202411201109472796.jpg

截图202411201109569526.jpg

截图202411201110159501.jpg

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2026-03-27 08:38:45
已绑定手机

4

主题

8

回帖

320

积分

中级会员

积分
320
发表于 2024-11-20 11:23:51 | 显示全部楼层
RTC发生中断后唤醒单片机可以在中断中判断,
但是uart起始位唤醒单片机后并不能立即进入中断,
需要等接收后才能进入中断,
这样刚唤醒单片机时不能判断是那个UART产生的中断。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:234
  • 最近打卡:2026-03-27 05:06:15

15

主题

156

回帖

917

积分

高级会员

积分
917
发表于 2024-11-20 12:11:07 | 显示全部楼层
可以使用串口返回值或者指示灯吧
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:698
  • 最近打卡:2026-03-27 09:40:22
已绑定手机

49

主题

2645

回帖

2871

积分

荣誉版主

积分
2871
发表于 2024-11-20 12:29:18 | 显示全部楼层
睡前对某个位变量置位,醒来在中断里面判断,如果是置位状态就是被唤醒进入的中断,如果没置位就是普通中断。
  1. flag=1;
  2. 睡;
  3. zzzzzzzzzz
  4. ISR
  5. {
  6. if (flag)  printf("俺是被唤醒的")
  7. else    printf("俺是普通中断来的")
  8. flag = 0
  9. }
复制代码

置位状态就是正常触发的中断。
~~~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:255
  • 最近打卡:2026-03-26 08:51:21
已绑定手机

22

主题

628

回帖

2330

积分

金牌会员

积分
2330
发表于 2024-11-20 13:30:21 | 显示全部楼层
除了串口不能确认,其它都可以通过中断来判断,哪个中断唤醒了就设个标志,如果没有标志置1就是串口唤醒了
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:296
  • 最近打卡:2026-01-08 10:11:26

9

主题

315

回帖

1855

积分

金牌会员

积分
1855
发表于 2024-11-20 17:03:52 | 显示全部楼层
柳树*** 发表于 2024-11-20 11:23
RTC发生中断后唤醒单片机可以在中断中判断,
但是uart起始位唤醒单片机后并不能立即进入中断,
需要等接收 ...

可以在掉电代码后几行加接收脚电平判断代码
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2026-03-27 08:38:45
已绑定手机

4

主题

8

回帖

320

积分

中级会员

积分
320
发表于 2024-11-22 09:06:59 | 显示全部楼层
睡前对某个位变量置位,醒来在中断里面判断,如果是置位状态就是被唤醒进入的中断,如果没置位就是普通中断。
之前这样用过,串口没有接收成功,可能还是当时这样写的逻辑有点问题,我再改改试试。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2026-03-27 08:38:45
已绑定手机

4

主题

8

回帖

320

积分

中级会员

积分
320
发表于 2024-11-22 09:08:30 | 显示全部楼层
晓*** 发表于 2024-11-20 12:29
睡前对某个位变量置位,醒来在中断里面判断,如果是置位状态就是被唤醒进入的中断,如果没置位就是普通中断 ...

之前这样用过,串口没有接收成功,可能还是当时这样写的逻辑有点问题,我再改改试试。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-27 10:39 , Processed in 0.115737 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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