当前位置: 首页 > news >正文

停止模式下USART为什么可以唤醒MCU?

在MCU的停止模式下,USART之类的外设时钟是关闭的,但是USART章节有描述到在停止模式下可以用USART来对MCU进行唤醒:
在这里插入图片描述

大家是否会好奇在外设的时钟被关闭的情况下,USART怎么能通过接收中断或者唤醒事件对MCU进行唤醒的呢?
其实除了USART可以做到外,I2C同样也可以做到相同的唤醒功能。
在这里插入图片描述

为什么这两个外设可以呢?
它们有一个相同点就是支持双时钟域,简单来说,假如外设挂在APB总线上,一般它们的时钟就直接来自于总线时钟,但是I2C和USART,它们的时钟源选择可以来自于HSI,这就给它们提供了从停止模式唤醒的一个条件,但是即使是HSI作为时钟源,在stop mode下,HSI也是关闭的状态,好像也无法唤醒?
当I2C或者USART时钟源选择为HSI的时候,且配置了它们在Stop mode下唤醒MCU的功能,此时进入stop mode后,HSI的时钟关闭,当有信号进入外设时,HSI会先一步被唤醒,供给I2C或USART,使得两个外设开始工作,当它们接收到对应的信息后,确认是否是可以唤醒CPU的事件,例如I2C接收到的地址是否匹配,若不匹配,则不会生成对应的唤醒事件用于唤醒MCU,且HSI再次关闭,如果信息匹配,则会生成唤醒事件用于唤醒CPU。大致的时序图如下:
在这里插入图片描述

但是也不是所有的时钟源可以选择为HSI的外设都可以在stop mode下对MCU进行唤醒,具体的还得需要去啃芯片手册,只有设计时做了对应唤醒功能的外设才可以。

http://www.lryc.cn/news/451425.html

相关文章:

  • Web安全 - 路径穿越(Path Traversal)
  • JSR303微服务校验
  • 56. QTreeWidget的基本使用
  • 领域偏移:协变量移位下的域自适应
  • 前端开发技术框架选型
  • /etc/init.d/mysql
  • Qt_线程介绍与使用
  • 通讯方面的数据,人工智能 机器学习的时候,因为数字都接近于一,数据归一化的一种方法,做了一个简化版本的Z-score标准化
  • python itertools模块介绍
  • 【分布式微服务云原生】5分钟深入剖析Kafka:Leader与Follower分区的秘密及负载均衡的艺术
  • 在线代码编辑器
  • 深入了解 MPlayer:Linux 系统中的多功能多媒体播放器
  • Netty系列-7 Netty编解码器
  • OpenHarmony标准系统上实现对rk系列芯片NPU的支持(npu使用)
  • 大表性能优化的关键技术
  • 广联达 Linkworks办公OA Service.asmx接口存在信息泄露漏洞
  • 如何成为成功的AI产品经理:经验与策略分享
  • spring loCDI 详解
  • 遇到 Docker 镜像拉取失败的问题时该如何解决
  • 【C/C++】错题记录(三)
  • 深入理解Web浏览器与服务器的连接过程
  • 深入解析 https
  • NP-hard问题
  • 【Nacos架构 原理】内核设计之Nacos通信通道
  • 【单片机】单片机map表详细解析
  • 考研笔记之操作系统(三)- 存储管理
  • vim/vi常用命令大全
  • 什么是大语言模型,一句话解释
  • 【数据库】 MongoDB 撤销用户的角色和权限
  • vue2接入高德地图实现折线绘制、起始点标记和轨迹打点的完整功能(提供Gitee源码)