你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4DISCOVERY 外设固件示例

[复制链接]
STMCU小助手 发布时间:2022-7-18 13:39
前言
本应用笔记介绍了为 STM32F4DISCOVERY 套件提供的一些外设固件示例。
这些示例可直接使用,可帮助用户快速了解 STM32F4xx 外设和 STM32F4DISCOVERY 板硬件。每个示例都配备了一些预配置项目,其中涵盖 EWARMMDK-ARMTrueSTUDIO TASKING 工具。
可以从 www.st.com/stm32f4-discovery 下载固件应用程序软件包,其中包含了这些示例。
建议用户首先阅读 STM32F4DISCOVERY 套件的软件和固件环境入门 (UM1467) 以熟悉STM32F4DISCOVERY 套件


1外设固件示例结构概述
在 STM32F4DISCOVERY 固件应用程序软件包中提供了一些外围固件示例,这些示例位于\Project 文件夹下,如 1 中所示。


UI]WY14_VT]8L8OQ][LR)[4.png



2外设固件示例说明
2.1 GPIO 切换示例
2.1.1目的
本示例说明如何使用 GPIO 端口位置位/复位寄存器(BSRRL 和 BSRRH)实现 I/O 切换。


2.1.2说明
在本示例中:
使能 GPIOD 时钟。
配置 GPIOD 引脚 121314 15
while 循环中,通过将端口位置位/复位寄存器 (BSRRL) 中的相应位置 1,使 GPIOD输出数据寄存器 (ODR) 中的 ODR12ODR13ODR14 ODR15 位置 1。然后,通过将端口位复位寄存器 (BSRRH) 中的相应位置 1,使 GPIOD 输出数据寄存器 (ODR)中的 ODR12ODR13ODR14 ODR15 位复位。
GPIOD ODR12ODR13ODR14 ODR15 位的置位与复位操作之间插入了一段延时。
执行程序时,LD3LD4LD5 LD6 这四个 LED 轮流闪亮。点亮与熄灭状态之间的持续时间即相当于插入的延时。


2.2 EXTI 示例
2.2.1目的
本示例说明如何配置外部中断线。


2.2.2说明
在本示例中:
PA0 引脚配置为输入悬空。
PA0 用作外部中断源线 0 (EXTI0)
EXTI 线 0 配置为在 PA0 引脚上每检测到一个上升沿时生成一个中断。每次按 User(用户)按钮时都会触发中断。
NVIC(嵌套向量中断控制器)中,配置了 EXIT 线 0 中断优先级并且使能了中断。
执行程序时,若用户按下 User(用户)按钮(EXTI0 中断程序 ),将对连接到 PD12 LD4 LED进行切换。


2.3 SysTick 示例
2.3.1目的
本示例说明如何配置系统节拍定时器及如何使用该定时器生成 1 ms 的时基。
2.3.2说明
在本示例中:
系统节拍定时器初始化。
系统节拍定时器中断在 NVIC 中使能。
系统节拍定时器/计数器以自由运行模式启动以生成周期中断。
每隔 1 ms 触发一次系统节拍定时器中断。
根据系统节拍定时器计数结束事件,实现延迟函数。
LD3、LD4、LD5 和 LD6 这四个 LED 通过延迟函数定义的时序进行切换。


2.4待机模式示例
2.4.1目的
本示例说明如何将系统置于待机模式,以及如何使用外部复位、RTC 闹钟 A 或 WKUP 引脚将系统从该模式中唤醒。


2.4.2说明
在本示例中:
系统节拍定时器初始化。
系统节拍定时器中断在 NVIC 中使能。
系统节拍定时器/计数器以自由运行模式启动以生成周期中断。系统节拍定时器中断每250 ms 触发一次。LD4 将切换,指示 MCU 处于待机模式还是运行模式。
EXTI 线 1 配置为在 PA1 引脚上每检测到一个上升 / 下降沿时生成一个中断。每次 PA1电平发生更改(GND VDD)时,都将生成外部中断。
EXTI 行上检测到下降或上升沿时,将生成一个中断。在 EXTI 处理器程序中,RTC 配置为在 5 秒内生成闹钟事件,之后系统将进入待机模式,使 LD4 停止切换。
— WKUP 引脚(User(用户)按钮)出现上升沿时或执行外部复位时都会将系统从待机模式唤醒。如果 5 秒内既没有在 WKUP 引脚(User(用户)按钮)上出现上升沿,也没有生成外部复位,则 RTC 闹钟 A 会将系统唤醒。
从待机模式中唤醒后,将按照复位后的方式重新执行程序,RTC 配置(时钟源和预分频器)得到保留,LD4 再次切换。因此,无需配置 RTC
LD4 和 LD3 这两个 LED 按如下方式监视系统状态:
LD3 亮:RTC 配置失败(系统将进入无限循环)
LD4 切换:系统处于运行模式
LD4 灭:系统处于待机模式
这些步骤以无限循环方式重复。


2.5停止模式示例
2.5.1目的
本示例说明如何将系统置于停机模式,以及如何使用与 EXTI 线 22 或 EXTI 线 0 相连的 RTC唤醒定时器事件将系统从该模式唤醒。


2.5.2说明
在本示例中:
EXTI 线 0 配置为出现上升沿时生成中断。
EXTI 线 22 在内部与 RTC 唤醒事件相连,并且配置为每 4 s 于上升沿生成一个中断。
SysTick 编程为每 250 ms 生成一个中断。在 SysTick 中断处理器中,将切换 LD3,用以指示 MCU 是处于停机模式还是运行模式。
系统进入停机模式,等待每 4 秒生成一个 RTC 唤醒事件或用户按下 User(用户)按钮。
如果通过 RTC 唤醒事件 (EXTI_Line22) 从停机模式唤醒系统,则将切换 LD4
如果通过按下 User(用户)按钮 (EXTI_Line0) 从停机模式唤醒系统,则将切换LD6
LED 用于监视系统状态:
— LD3 切换:系统处于运行模式。
— LD4 切换:使用 RTC 唤醒中断从停机模式唤醒系统。
— LD6 切换:使用 EXTI 线 0(User(用户)按钮)从停机模式唤醒系统。


2.6电流消耗示例
2.6.1目的
本示例说明如何配置 STM32F4xx 系统以测量不同低功耗模式的电流消耗。低功耗模式为:
睡眠模式
带有 RTC 的停机模式
不带 RTC BKPSRAM 的待机模式
带有 RTC 的待机模式
带有 RTC BKPSRAM 的待机模式
要选择待测量的低功耗模式,请取消注释 stm32f4xx_lp_modes.h 文件中的相应行。
注:
1通过移除跳线 JP1(标记为 IDD)并连接一个电流表,便可以在 STM32F4DISCOVERY 上测量 STM32F4xx 功耗。
2 STM32F4DISCOVERY 板上,由于 BOOT0 引脚连接了一个 R31 电阻,因此功耗将增大500uA 左右。移除该电阻即可得到正确的功耗值。




完整版请查看:附件





DM00038796_ZHV2.pdf

下载

737.88 KB, 下载次数: 3

收藏 评论0 发布时间:2022-7-18 13:39

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版