资讯详情

(转载)初识STM32F407芯片

嵌入式技术是整个物联网系统的关键核心技术之一。它相当于感知层的大脑,统一感知层的传感器部分,实现具体的功能,是整个物联网的基本部分。

嵌入式的开发,最核心部分是芯片的开发。目前嵌入式开发主要有单片机、嵌入式linux等等。单片机功能强大,性价比高,占据了物联网行业的一半以上。

4.1 初识STM32F407芯片

本节介绍单片机和STM32F407芯片。

4.1.1 单片机介绍

单片机,也被称为单片微控制器,不是完成某种逻辑功能的芯片,而是将计算机系统集成到芯片中。相当于一台微型计算机,与计算机相比,单片机只缺少I/O设备。一般来说,芯片变成了电脑。它体积小,质量轻,价格便宜,为学习、应用和开发提供了便利。

4.1.2 STM32F407芯片

本书选用ST(意法半导体)推出STM32F407系列芯片。ST基于意法半导体的推出ARM Cortex?-M4采用90型内核高性能微控制器 纳米的NVM 工艺和ART(自适应实时存储器加速器,Adaptive Real-Time MemoryAccelerator?)。

据市场统计,2017年STM32系列芯片出货10亿颗。作为世界上最大的半导体公司之一,ST传感器、功率器件、汽车产品和嵌入式处理器解决方案在物联网生态中起着重要作用。而其中MCU 根据官方数据,2017年,ST公司拥有800多个通用微控制器市场份额约19%STM32产品,5万多个客户。

图4.1 STM32F407芯片

使用STM32F407主要是基于以下原因:

STM32F407VET6型单个采购价格在13元左右,批量价格会更低。

作为世界上最受欢迎的芯片,市场上的大多数公司都是基于STM开发32系列芯片,企业招聘基本要求STM32.同时,网上有很多成熟的方案,相关论坛。

STM32F407提供168工作频率 MHz的Cortex?-M内核(有浮点单元)的性能。从Flash执行存储器时,STM32F407/417能够提供210 DMIPS/566 CoreMark性能,并使用意法半导体ART实现了加速器FLASH零等待状态。DSP指令和浮点单元扩大了产品的应用范围。

2个USB OTG(其中一个支持HS)

音频:专用音频PLL和2个全双工I2S

多达15个通信接口,其中6个速度高达11个.25 Mb/s的USART、3个速度高达45 Mb/s的SPI、3个I2C、2个CAN和1个SDIO)

模拟:2个12位DAC、3个速度为2.4 MSPS或7.2 MSPS12位(交错模式)ADC

多达17个定时器,高达168 MHz16和32位定时器

支持可以使用Compact Flash、SRAM、PSRAM、NOR和NAND灵活的静态存储控制器容易扩展存储容量

基于模拟电子技术的真随机数发生器

4.3 GPIO口操作

在嵌入式系统中,通常需要控制许多结构简单的外部设备或电路,其中一些需要通过CPU有些需要控制CPU提供输入信号。传统传统的串口或并口控制设备更为复杂。因此,嵌入式微处理器通常提供通用可编程I/O即端口GPIO。

4.3.1 LED硬件原理图

本章将通过操作进行LED亮灭的方法是实现正确的STM32F407的GPIO口操作。翻开发板LED相关硬件原理图,如图4所示.17所示。

图4.17 LED原理图

根据原理图和LED我们可以知道灯的特点:当LED0、LED1、LED2引脚输出低电平时,三个LED灯会发光。相反,当输出高电平时,三个LED灯将熄灭。

而LED0、LED1、LED23个引脚分别对应STM32F407芯片上的GPIOE_3、GPIOE_4、GPIOG_9。故而,LED亮灭操作可转化为STM32F引脚输出操作407。

4.3.2 STM32F407的GPIO口介绍

STM32F407有7组IO。分别为GPIOA~GPIOG,每组IO有16个IO口,共有112个IO口 通常称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。

STM32F4 内置外设很多,这些外设的外引脚都是和 GPIO 共用的。也就是说,引脚可以起很多作用,但默认情况下IO如果你想用一个嘴 GPIO内置外设的功能引脚,就需要GPIO那就当这个吧 GPIO 用作内置外设时,称为复用。 比如说串口 就是GPIO复用为串口

GPIO_Mode_IN_FLOATING 浮空输入

GPIO_Mode_IPU 上拉输入

GPIO_Mode_IPD 下拉输入

GPIO_Mode_AIN 模拟输入

GPIO_Mode_Out_OD 泄漏输出(上拉或下拉)

GPIO_Mode_AF_OD 复用开漏输出(上拉或下拉)

GPIO_Mode_Out_PP 推拉输出(上拉或下拉)

GPIO_Mode_AF_PP 复用推挽输出(带上拉或下拉)

2MHZ (低速)

25MHZ(中速)

50MHZ(快速)

100MHZ(高速)

4.3.3 STM32标准外设库

STM32标准外设库是由程序、数据结构和宏组成的固件函数包,包括微控制器所有外设的性能特征。该函数库还包括每个外设的驱动描述和应用实例,为开发者访问底部硬件提供了中间API,开发者可以轻松地使用每个外设,而无需深入掌握底层硬件的细节。

因此,使用固态函数库可以大大降低开发者开发和使用电影内外设置的时间,从而降低开发成本。每个外设驱动器由一组函数组成,涵盖了外设的所有功能。STM32官方还提供了大量的学习示例代码。

STM32标准外设库可到达ST官网下载,也可以直接使用本书附录提供的下载STM32标准外设库。

使用keil MDK在编写代码时,我们需要编写代码STM将32个标准外设库添加到项目中。建议读者直接使用附录中添加的工程文件。

标签: igt202传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台