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

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

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-02-10 16:21:26

3

主题

6

回帖

201

积分

中级会员

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

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:156
  • 最近打卡:2025-04-29 00:51:09

24

主题

229

回帖

1281

积分

金牌会员

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

截图202411201109569526.jpg

截图202411201110159501.jpg

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-02-10 16:21:26

3

主题

6

回帖

201

积分

中级会员

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:117
  • 最近打卡:2025-03-06 09:50:21

6

主题

142

回帖

638

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 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. }
复制代码

置位状态就是正常触发的中断。
睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:38
  • 最近打卡:2025-04-29 08:28:25
已绑定手机

17

主题

446

回帖

1173

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:294
  • 最近打卡:2025-03-06 09:25:41

8

主题

318

回帖

1835

积分

金牌会员

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

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-02-10 16:21:26

3

主题

6

回帖

201

积分

中级会员

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:150
  • 最近打卡:2025-02-10 16:21:26

3

主题

6

回帖

201

积分

中级会员

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

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:21 , Processed in 0.132655 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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