STM32开发入门

article/2025/8/27 22:08:58

stm32f407系列单片机基础知识

参考stc公司标准开发手册 STM32F4xx中文参考手册1.pdf
##本文是基于stm32f407zgt6单片机做出介绍
stm32系列单片机是stc公司开发并设计出的一类高速低功耗芯片,其具有众多可用内部资源,在下文将一一介绍

芯片实物图

在这里插入图片描述

内部资源

1:本芯片共有144引脚其中有大部分IO口都耐 5V (模拟通道除外)
2:支持调试: SWD和JTAG,SWD只要2根数据线
3:大部分IO口有第二,或第三功能功能较多
io图如下
在这里插入图片描述
特性:
1、内核:带有 FPU 的 ARM® 32 位 Cortex®-M4CPU、在 Flash 存储器中实现零等待状态运行性能的自适应实时加速器 (ART 加速器 ™)、主频高达 168MHz, MPU,能够实现高达210 DMIPS/1.25DMIPS/MHz (Dhrystone 2.1)的性能,具有 DSP 指令集。,高达1 MB的闪存(Flash),增加了以太网MAC和照相机接口
2:多达 140 个具有中断功能的 I/O 端口
– 高达 136 个快速 I/O,最高 84 MHz
– 高达 138 个可耐 5 V 的 I/O
3:存储器
– 高达1 MB Flash
– 高达 192+4 KB的SRAM, 包括64-KB的CCM(内核耦合存储器)数据 RAM
– 具有高达 32 位数据总线的灵活外部存储控制器: SRAM、 PSRAM、 NOR/NAND存储器
4:时钟、复位和电源管理
(1)1.8~3.6V电源和IO电压
(2)上电复位,掉电复位和可编程的电压监控
(3)强大的时钟系统

    - 4~26M的外部高速晶振- 内部16MHz的高速RC振荡器- 内部锁相环(PLL,倍频),一般系统时钟都是外部或者是内部高速时钟经过PLL倍频后得到- 外部低速32.768K的晶振,主要做RTC时钟源

5:多种工作模式可供选择
(1)睡眠、停止和待机三种低功耗模式
(2)可用电池为RTC和备份寄存器供电
6:AD通道
(1)3 个 12 位、 2.4 MSPS ADC:多达 24 通道,三重交叉模式下的性能高达 7.2 MSPS
(2)内部通道可以用于内部温度测量
7:DA
2个12位DA转换器
8:通用DMA:具有FIFO和突发支持的16路DMA控制器
9:多达17个定时器: 12个16位定时器,和2个频率高达 168 MHz 的 32 位定时器,每个定时器都带有 4 个输入捕获 / 输出比较 /PWM,或脉冲计数器与正交 ( 增量 ) 编码器输入
10:通信接口:多达 15 个通信接口
– 多达 3 个 I2C 接口 (SMBus/PMBus)
– 高达 4 个 USART/4 个 UART( 10.5 Mbit/s、ISO7816接口、 LIN、 IrDA、 调制解调器控制)
– 高达 3 个 SPI ( 42 Mbits/s), 2 个具有复用的全双工 I2S, 通过内部音频 PLL 或外部时钟达到 音频级精度
– 2 个 CAN ( 2.0B 主动)以及 SDIO 接口
– 2个USB OTG
11:内置看门狗系统,分为独立看们狗和窗口看门狗
12:程序下载支持J-Link和串口下载器
当使用串口下载器是系统运行模式BOOT0与BOOT1要做出相应修改
在这里插入图片描述
13:系统架构
主系统由 32 位多层 AHB 总线矩阵构成,可实现以下部分的互连:
● 八条主控总线:
— Cortex™-M4F 内核 I 总线、D 总线和 S 总线
— DMA1 存储器总线
— DMA2 存储器总线
— DMA2 外设总线
— 以太网 DMA 总线
— USB OTG HS DMA 总线
● 七条被控总线:
— 内部 Flash ICode 总线
— 内部 Flash DCode 总线
— 主要内部 SRAM1 (112 KB)
— 辅助内部 SRAM2 (16 KB)
— 辅助内部 SRAM3 (64 KB)(仅适用于 STM32F42xxx 和 STM32F43xxx 器件)
— AHB1 外设(包括 AHB-APB 总线桥和 APB 外设)
— AHB2 外设
— FSMC
借助总线矩阵,可以实现主控总线到被控总线的访问,这样即使在多个高速外设同时运行期间,系统也可以实现并发访问和高效运行

内部资源图

2个12位DA引脚对应
在这里插入图片描述


http://chatgpt.dhexx.cn/article/62grsRT5.shtml

相关文章

Structured Streaming 快速入门系列(三)Structured Streaming 实战之 Sink

文章目录 SinkHDFS SinkKafka SinkForeach Writer自定义 SinkTigger从 Source 到 Sink 的流程错误恢复和容错语义 Sink 目标和步骤 目标 能够串联两端, 理解整个流式应用, 以及其中的一些根本的原理, 比如说容错语义能够知道如何对接外部系统, 写入数据 步骤 HDFS SinkKaf…

STM32基础入门学习笔记:内部高级功能应用

文章目录: 一:低功耗模式 1.睡眠模式测试程序 NVIC.h NVIC.c key.h key.c main.c 2.停机模式测试程序 main.c 3.待机模式测试程序 main.c 二:看门狗 1.独立看门狗测试程序 iwdg.h iwdg.c main.c 2.窗口看门狗测试程序 wwdg…

STM32初学者入门FreeRTOS操作系统,多任务实时系统

1.详细介绍FreeRTOS操作系统,然后举了几个实例 FreeRTOS(Free Real-Time Operating System)是一个开源的嵌入式实时操作系统,它专门设计用于在资源有限的嵌入式系统中运行。FreeRTOS提供了一些用于任务管理、调度、同步和通信的功…

【STM32系列汇总】博主的STM32实战快速进阶之路(持续更新)

我把之前在学习和工作中使用STM32进行嵌入式开发的经验和教程等相关整理到这里,方便查阅学习,如果能帮助到您,请帮忙点个赞; 本文的宗旨 STM32 只是一个硬件平台,同样地他可以换成MSP430,NXP的RT等等&…

<STC32G12K128入门第四节>USAT串口(实战使用ESP32进行TCP通信)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、串口是什么?二、UART寄存器1.引脚配置寄存器2.SCON寄存器3.SBUF数据发送接收缓冲区4.辅助寄存器5.串口重定向三、案例总结前言 一、串口是什么? 这个我不想多说就是一种通讯方式,想具体…

STM32入门(二)

STM32入门(二) 一、新建工程 二、库开发与寄存器开发的关系 固件库就是函数的集合,固件库函数的作用是向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。在51的开发中我们常常的作法是直接操…

STM32 快速入门(内核架构,启动方式,开发参考资料,芯片选型)

文章目录 1、启动方式(Start up)2、开发参考资料2.1 STM32 中文参考手册 3、通常的芯片选型步骤4、存储器和总线构架4.1 系统构架4.1.1 ICode 总线4.1.2 DCode 总线4.1.3 系统总线4.1.4 DMA 总线4.1.5 总线矩阵4.1.6 AHB/APB 桥(APB) 4.2 存储器组织&…

STM32—串口使用及配置(入门详解)

目录 一、常用函数 二、状态标记变量 三、串口接收中断流程 四、串口工具 五、配置1(非中断) 六、main.c代码(非中断) 七、配置2(中断) 八、main.c代码(中断) 一、常用函数 …

stm32学习(入门2)

stm32学习心得 提示:写博客纯属第一次练手,不足之处希望多提建议 文章目录 stm32学习心得前言一、什么是串口二、观察现象在我们波特率不同的情况下我们会发现乱码ch340短接波特率不同情况下波特率相同情况下 stm32代码总结 前言 我们前面写了stm32对le…

【STM32Cube】学习笔记(六):DHT11温湿度传感器

文章目录 摘要一、简介1.DHT11数字温湿度传感器2.DHT11性能参数2.DHT11数据结构2.DHT11传输时序 二、硬件电路设计1.模块内部电路2.与单片机相连接电路 三、软件设计1.CubeMX配置2.CubeIDE代码 四、结果显示五、总结附录 摘要 本篇文章用STM32CubeMX和STM32CubeIDE软件编程&am…

STM32入门篇之DHT11温湿度传感器

目录 前言一、项目介绍1.1 项目名称1.2 项目设计思路二、硬件准备2.1 STM32F407ZGT6三、软件准备3.1 Keil53.2 STM32f407固件库3.3 STM32CudeMx3.4 STM32CudeMx的f407软件包四、项目实施4.1 硬件平台开发4.1.1 keil5安装4.1.2 STM32CudeMx安装4.1.3 BSP工程项目创建4.1.4 BSP工…

STM32单片机入门教程---STM32简介

文章目录 一.简介二.片上资源(外设)三.命名规则四.系统结构五.引脚定义六.启动配置七.最小系统电路 一.简介 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器STM32家族系列 本次教程使用的是STM32F1系列(主流系列)ARM ARM…

关于新手学习STM32开发应该如何入门?

对于新手来说,学习STM32开发可能会感到困惑,尤其是在拿到开发板后该如何入门。在这里有嵌入式学习路线,毕设,各种项目,需要留个6。以下是部分内容概述:硬件介绍:了解STM32开发板的基本硬件组成和…

STM32_基础入门(九)_串口通讯详解

持续关注阿杰在线更新保姆式笔记~~坚持日更 参考资料: 《STM32F1开发指南-库函数版本》- 5.3 usart串口文件夹介绍 -第9章 串口实验 《STM32中文参考手册V10》-第25章通用同步异步收发器(USART) 片上外设GPIO配置 --《STM32中文参考手册V10》-8.1.11 外…

STM32cubemx教程及STM32入门(四)串口通信

STM32cubemx教程及STM32入门(四)串口通信 2022.8.24 前言 本章主要介绍串口通信的概念以及在STM32单片机上通过STM32CubeMX和HAL库进行串口通信,同时重定义了printf函数。 简介 在串行通信中,一个字符一个字符地传输&#xff…

STM32系列--从入门到精通

使用STM32也有好几个年头,起初用的开发板已经积灰了,刷干净开发板上的灰,我觉得,应该写点什么东西了,把这些年来调试走过的路,一些心得,一些体会,记录下来,希望对大家有所…

STM32 从入门到精通系列讲解 - 总目录

👦 作者介绍:Bazinga bingo,专注C语言应用硬核干货分享,潜心修炼,虚心学习,立志做嵌入式相关赛道的Top。 📕 本文收录于《STM32开发》专栏,包含STM32内部模块介绍、片内资源开发、不…

STM32入门教程第二讲

系列文章目录 STM32入门教程第二讲------介绍GPIO 目录 系列文章目录 前言 一、GPIO是什么? 1.简要介绍GPIO 2.GPIO基本结构 二.GPIO的模式介绍 (四种输入四种输出) 1.浮空输入_IN_FLOATING: ​编辑 2. 模拟输入_AIN ​编辑 3带上拉输入_IPU 4 .带下拉输…

【STM32】串口通信基本原理(超基础、详细版)

STM32F1xx官方资料: 《STM32中文参考手册V10》-第25章通用同步异步收发器(USART) 通信接口背景知识 设备之间通信的方式 一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。它们的区别是: 并、串行通信的区别 并行…

【STM32】HAL库 STM32CubeMX教程四---UART串口通信详解

前言: 今天我们学习STM32CubeMX串口的操作,以及HAL库串口的配置,我们会详细的讲解各个模块的使用和具体功能,并且基于HAL库实现Printf函数功能重定向,UART中断接收,本系列教程将HAL库与STM32CubeMX结合在…