初识STM32F407芯片
嵌入式技术是整个物联网系统的关键核心技术之一。它相当于感知层大脑的,将感知层的传感器部分统一起来,实现具体的功能,是整个物联网的底层基础部分。
嵌入式的开发,最核心部分是芯片的开发。目前嵌入式开发主要有单片机、嵌入式linux等。其中单片机以其功能强大、性价比高,在物联网这一行业中占据了大半江山。
4.1 初识STM32F407芯片
STM32F407VET6型号单颗采购价为13元左右,批量价格会更低一点。
作为全球最受欢迎的芯片,目前市场上绝大部分公司都是基于STM32系列的芯片做开发,企业招聘也基本都要求会STM32。同时网上有很多成熟方案,相关论坛。
通信接口多达15个(包括6个速度高达11.25 Mb/s的USART、3个速度高达45 Mb/s的SPI、3个I²C、2个CAN和1个SDIO)
模拟:2个12位DAC、3个速度为2.4 MSPS或7.2 MSPS(交错模式)的12位ADC
定时器多达17个:频率高达168 MHz的16和32位定时器
可以利用支持Compact Flash、SRAM、PSRAM、NOR和NAND存储器的灵活静态存储器控制器轻松扩展存储容量
4.3 GPIO口操作
本章节将通过操作LED亮灭的方式,来实现对STM32F407的GPIO口操作。翻看开发板LED相关的硬件原理图,如图4.17所示。
根据原理图以及LED灯的特性,我们可知:当LED0、LED1、LED2引脚输出低电平的时候,三个LED灯将会发光。反之输出高电平的时候,三个LED灯将熄灭。
而LED0、LED1、LED2三个引脚又分别对应到STM32F407芯片上的GPIOE_3、GPIOE_4、GPIOG_9。故而,LED的亮灭操作可以转化成STM32F407的引脚输出操作。
STM32F407有7组IO。分别为GPIOA~GPIOG,每组IO有16个IO口,共有112个IO口 通常称为 PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。
GPIO_Mode_Out_OD 开漏输出(带上拉或者下拉)
GPIO_Mode_AF_OD 复用开漏输出(带上拉或者下拉)
GPIO_Mode_Out_PP 推挽输出(带上拉或者下拉)
GPIO_Mode_AF_PP 复用推挽输出(带上拉或者下拉)
因此,使用固态函数库可以大大减少开发者开发使用片内外设的时间,进而降低开发成本。每个外设驱动都由一组函数组成,这组函数覆盖了该外设所有功能。同时,STM32官方还给出了大量的示例代码以供学习。
STM32标准外设库可以到ST官网下载,也可以直接使用本书附录部分提供的下载好的STM32标准外设库。
使用keil MDK编写代码时,我们需要将STM32标准外设库添加到工程中去。这里推荐读者直接使用附录已经添加好的工程文件。
初识STM32F407芯片相关推荐
- (转载)初识STM32F407芯片
嵌入式技术是整个物联网系统的关键核心技术之一.它相当于感知层大脑的,将感知层的传感器部分统一起来,实现具体的功能,是整个物联网的底层基础部分. 嵌入式的开发,最核心部分是芯片的开发.目前嵌入式开发主要 ...
- STM32F407 芯片的学习 day07 iic通信方式 主芯片 与 at24c02之间的通讯
IIC(Inter-Integrated Circuit)总线是一种由 PHILIPS 公司开发的两线式串行线,用于连接微控制器及其外围设备.它是由数据线 SDA 和时钟 SCL 构成的串行总线,可发 ...
- 初识flash芯片----写之前为什么要先擦除
虽然一开始工作就接触过flash芯片,但都是应用层次的接触,并没有直接接触到flash驱动. 直到最近要基于驱动接口直接操作flash芯片,才发现自己对它的使用特定一点都不了解. 先说一下自己的问题, ...
- STM32芯片烧录的三种方式介绍,串口、STM32 ST-LINK Utility以及STM32CubeProgrammer
STM32芯片烧录的三种方式介绍,串口.STM32 ST-LINK Utility以及STM32CubeProgrammer 1 概述 1.1资源概述 1.2 STM32串口烧录方式 2.KEIL软件 ...
- 基于stm32f407的智能风扇系统
内容及过程 的主要内容是设计并制作一个基于stm32f407的智能风扇系统,这个智能风扇系统能够实现测量是否有人出现,是否温度过高,是否有火灾险情出现,这个系统完美解决了电力资源浪费以及在危险环境下处 ...
- c语言设计模拟闹钟主函数,基于STM32F407的四重感觉人体自然唤醒仪器设计
葛听雨 薛文彬 吴兴强 谢逸 摘要:现代生活不可避免的需要在清晨用闹钟来唤醒忙碌的工作者,而睡眠质量是关于人的身体健康的重要问题.传统的唤醒仪器,如普通闹钟,在闹铃工作的时候难以恰巧遇到被唤醒者的浅睡 ...
- 登堂入室之soc初识
初识soc芯片 基础 关于QG2101A? 自带mac与phy DDR? 扩展 什么是soc? 什么又是GPU? GPU与CPU的不同? GPU应用场景? 什么又是NPU? 什么是xboot? 搞了低 ...
- STM32F407 SPI使用DMA传输16bit数据
一.DMA SPI外设地址配置 查找 STM32F407 芯片手册,可以看到 SPI1的 DR地址为 0x4001 3000+0x0C,即0x40001300C 配置DMA时,指定SPI1的 外设地址 ...
- 移植好U8g2图形库的STM32F407标准库工程模板,0.96寸OLED驱动程序
移植好U8g2图形库的STM32F407标准库工程模板,用的0.96寸OLED屏(SSD1306),用硬件IIC驱动. 花了一晚上时间去移植.开发板主控MCU用的是STM32F407VET6,I2C接 ...
- STM32 进阶教程 12 - M4的硬件乘法器使用
前言 Cortex-M4支持硬件浮点运算单元(有些厂商直接说成DSP模块),本节将给大家介绍STM32F407芯片中硬件浮点运算单元中的使用及带来的性能对比. 示例详解 基于硬件平台: 正点源子的st ...
最新文章
- vCenter连接esxi 5.0报“Datacenter.QueryConnectionInfo” 失败
- 闯荡北京卖枣的临县人:同有一个“红枣美梦”(2张)
- 第三十二讲 ASP.NET网络打印
- 点击事件为什么会失效_耐高温润滑油脂为什么会失效?
- Android线程优先级设置方法技巧
- 从 Spark 的 DataFrame 中取出具体某一行详解
- android项目编码规范,Android 项目规范
- 中小学课java_java毕业设计_springboot框架的中小学排课与实现
- java数组对角线的和_java – 2d数组对角线填充
- mysql id 不在集合里面_MySQL,PHP:从表中选择*,其中id不在数组中
- golismero web扫描器
- “向死而生”的微信视频号,逆风翻盘的2020
- mysql一个汉字是几个字节_mysql里一个中文汉字占多少字节数?
- 计算机网络base,计算机网络中的术语100Base-TX/FX指的是什么?
- 树莓派c语言百度语音识别,树莓派语音识别
- 孙溟㠭先生书画艺术《贵妃》
- 【人工智能】人脸识别系统【实验报告与全部代码】(QDU)
- 怎么批量删除 Word、PDF、PPT 以及 Excel 文档中的空白页?
- 面试刷题LeetCode经典100道
- linux命令字典式总结(按用途分类)
热门文章
- android ndk官网下载地址,android ndk下载
- 手工杀毒辅助软件(PC Hunter) V1.51 免费绿色版
- 大数据-Hive开窗函数
- RH850 MPU 实现介绍
- SonarLint 默认扫描规则
- 【科研必备】常用数学符号大全
- php 签名 bom,PHP与Unicode签名(BOM)
- 制作纯天然无污染的微软官方win10Pe(超详细)
- hough变换检测圆周_Hough变换检测圆(附:MATLAB程序)
- android5.1 xposed,Xposed框架oppo下载