news 2026/5/4 11:40:52

STM32F0实战:基于HAL库开发【2.1】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32F0实战:基于HAL库开发【2.1】
7.4.2 从待机模式唤醒

待机模式允许达到能耗最低,它基于Cortex-M0深度睡眠模式,电压调节器禁用,1.8V域关闭,PLL、HIS和HSE振荡器也关闭,SRAM和寄存器内容丢失。只有RTC寄存器、RTC备份寄存器和备用电路保持工作。可以使用HAL库中的HAL_PWR_EnterSTANDBYMode()函数进入待机模式,由于待机模式下电压调节器和时钟均关闭,因此只有WKUP引脚的上升沿、RTC闹钟(Alarm A)、RTC唤醒、篡改事件、时间戳事件、NRST外部重置事件或IWDG复位才能将微控制器唤醒。

本例中待机模式下的唤醒是通过WKUP1(PA0)引脚来实现的,当微控制器复位后,同样是执行一个数字由“200”开始的递减,当数值递减至“0”时,执行WFI指令将微控制器置于待机模式,之后WKUP1(PA0)引脚的上升沿会将微控制器唤醒,并再次进行数字的递减过程。使用STM32CubeMX软件建立项目时,在“Pinout”和“Clock Configuration”视图中对引脚和时钟的配置方法如图7-8和图7-9所示。

待机模式下的唤醒程序详见代码清单7-2。

代码清单7-2 待机模式下的唤醒程序(main.c)(在附录J中指定的网站链接下载源代码)

第8章 DMA控制器

DMA(Direct Memory Access)即直接存储器访问,是一种不经过CPU而直接从存储器存取数据的数据交换模式。在DMA模式下,CPU只需要向DMA控制器下达指令,数据传输由DMA自动完成,这样能够减少CPU的资源占用。DMA是现代高性能微控制器的标准配置,本章将重点介绍STM32F0系列微控制器片内的DMA控制器。

8.1 DMA概述

DMA控制器用于提供外设和存储器之间、存储器和存储器之间的高速数据传输,数据可以通过DMA控制器进行快速传输而无须CPU干预,这就为其他操作保留了CPU的资源。DMA非常适用于快速设备与存储器批量交换数据的场合,使用DMA既能够保证数据传输的准确性,又可以大幅度减少快速设备的读写操作对CPU的干扰。

8.1.1 DMA控制器内部结构

STM32F072VBT6微控制器片内的DMA控制器共有7个通道,每个通道都相应地管理一个或多个外设对存储器的访问请求,DMA控制器和Cortex-M0内核共享系统数据总线,用于执行直接存储器数据传输,控制器内部的仲裁器用于协调不同DMA请求的优先权,其内部结构如图8-1所示。

当CPU和DMA同时访问相同的目标(RAM或外设)时,DMA请求会暂停CPU访问系统总线若干个周期,总线仲裁器执行循环调度,以确保CPU至少可以得到一半的系统总线带宽。每个通道都与专用的硬件DMA请求相连接,并且每个通道都支持软件触发。当有多个DMA请求发生时,其优先权可以通过软件编程来设置。数据源和目标数据区的传输宽度可以按需设置,数据可以以字节、半字或字的长度进行传输,但源和目标地址的数据长度必须一致。DMA传输的最大数量为65536,并且支持无限循环操作。每个DMA通道都有DMA传输中、DMA传输完成和DMA传输错误三个事件标志。这三个事件标志的逻辑或作为一个单独的中断请求,向CPU申请中断。

8.1.2 DMA的处理过程

在发生一个事件后,外设向DMA控制器发送一个D

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 11:39:24

动态系统思维:告别僵化内耗的破局指南

职场中总有这样的困惑:公司制定了标准化流程,却越执行越低效;团队追求“绝对有序”,反而失去创新活力;个人埋头重复固有工作,却在变化中逐渐被淘汰。我们总以为“稳定有序”是生存之道,却忽略了…

作者头像 李华
网站建设 2026/5/4 11:39:51

什么病毒会导致人全身没力气、胃口不好,还有拉肚子?

多种病毒感染都可能引发全身乏力、食欲不振、腹泻的症状,其中最常见的是诺如病毒和轮状病毒,此外新冠病毒、腺病毒等也可能出现这类表现。 🦠 常见相关病毒及特点 1. 诺如病毒 • 典型症状:突发腹泻、呕吐,伴随全身乏力、食欲减退,还可能有腹痛、低热 • 传播性强:可…

作者头像 李华
网站建设 2026/5/3 8:57:27

如何系统化的学习金融,投资,理财?

系统化学习金融、投资、理财,需要遵循 “搭建知识框架→夯实理论基础→实践验证迭代→优化思维体系” 的逻辑路径,三者环环相扣,缺一不可。以下是分阶段的详细学习方案,兼顾理论深度与实操性:一、 第一阶段&#xff1a…

作者头像 李华
网站建设 2026/5/3 5:13:35

传统ChatBot四大瓶颈与AgenticRAG完整认知闭环:工业级开发实践

传统ChatBot因架构认知局限难以实现生产级可靠性。AgenticRAG通过理解推理验证实现完整认知闭环,Agent作为AI应用层操作系统决定应用可靠性与复杂度上限。深蓝学院开设工业级RAG系统与Agent应用开发实战课程,由商汤科技专家授课,帮助学员从Pr…

作者头像 李华
网站建设 2026/5/4 4:30:28

【柔性作业车间调度问题FJSP】基于部落竞争与成员合作算法CTCM求解柔性作业车间调度问题(FJSP)研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

作者头像 李华