STM32开发入门

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引脚对应
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
STM32是一系列由STMicroelectronics公司推出的32位ARM微控制器。STM32具有丰富的外设和强大的处理能力,被广泛应用于各种嵌入式系统设计中。下面是关于STM32硬件开发入门的一些要点。 首先,入门STM32硬件开发需要了解STM32芯片的基本结构和外设功能。可以通过阅读相关的芯片手册和技术参考手册来了解这些信息。了解芯片的GPIO引脚分配、时钟系统、外设寄存器等基本知识是很重要的。 其次,了解STM32开发板的特点和外设配置。常见的STM32开发板有ST-Link开发板和Discovery开发板等。这些开发板通常有丰富的外设和接口,如LED、按键、触摸屏和通信接口等。通过阅读相关的开发板手册,可以了解开发板的特性和使用方法。 然后,学习如何编写和调试STM32的硬件程序。可以使用集成开发环境(IDE)如Keil MDK或STM32CubeIDE来编写和调试STM32程序。这些IDE提供了丰富的开发工具,如编译器、调试器和仿真器,方便硬件程序的开发和调试。 此外,了解常用的外设驱动程序和库函数也是很重要的。STMicroelectronics提供了STM32标准外设库和HAL库,这些库函数可以简化硬件编程的过程。学习如何使用这些库函数可以提高开发效率和减少编程工作量。 最后,进行实践和项目应用是掌握STM32硬件开发的关键。通过完成一些简单的实验和项目,可以更好地理解和应用STM32的硬件功能。可以尝试使用各种外设和接口,如串口通信、PWM输出和AD转换等。通过实践,可以提高自己的硬件开发能力。 综上所述,入门STM32硬件开发需要了解芯片结构和外设功能、学习开发板的特点和使用方法、掌握硬件编程和调试技巧、学习外设驱动程序和库函数、进行实践和项目应用。通过不断学习和实践,可以逐步提高自己的STM32硬件开发水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值