STM32F103mini基础知识归纳
关注同名微信公众号“混沌无形”,有趣好文!
1.STM32系统架构基础名词描述
1.1 APB(Advanced Peripheral Bus),片上外设总线。主要用于慢速片上外设与ARM核的通讯
APB外设:APB1(低速)---->DAC,PWR,BKP,bxCAN,USB,I2C1-2,UART4-5,USART2- 3,SPI2/I2S,SPI3/I2S,IWDG,WWDG,RTC,TIM2-7
APB2(高速)---->ADC1-3,USART1,SPI1,TIM1,TIM8,GPIOA-G,EXTI,AFIO
1.2 AHB(Advanced High performance Bus),高性能总线。主要用于系统高性能、高时钟速率模块间通信
1.3 D-Code 访问数据,数据总线; I-Code访问指令的,指令总线
1.4 DMA(Direct Memory Access,直接内存存取) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。
1.5 FSMC(Flexible Static Memory Controller,可变静态存储控制器)是STM32系列采用一种新型的存储器扩展技术。 在外部存储器扩展方面具有独特的优势,可根据系统的应用需要,方便地进行不同类型大容量静态存储器的扩展
1.6 SRAM(Static Random Access Memory),即静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。
1.7 FLASH闪存 一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。
1.8 I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用於音频设备之间的数据传输,广泛应用于各种多媒体系统。
2.STM32时钟系统
2.1 时钟越快,功耗越大,抗电磁干扰能力越弱-------->多时钟系统
2.2 时钟源:5个(HSE,HSI,LSI,LSE,PLL)使用模块,需先使能相应的时钟
2.3 系统时钟大小:SYSCLK(系统时钟) = 72MHz
AHB总线时钟(使用SYSCLK) = 72MHz
APB1 总线时钟(PCLK1) = 36MHz
APB2 总线时钟(PCLK2) = 72MHz
PLL时钟 = 72MHz
3.端口福永和重映射
3.1 端口复用
3.1.1 端口复用步骤--->端口时钟和外设时钟的使能
1)GPIO端口时钟使能
2)复用的外设时钟使能
3)端口模式设置------>初始化GPIO以及复用外设功能
3.2 端口重映射-Alternate functions(把复用功能重新映射到其他引脚)
3.2.1 端口重映射步骤
1)使能GPIO时钟----->RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE)
2) 使能串口1时钟----->RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE)
3) 使能AFIO时钟----->RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE)
4) 开启(部分)重映射----->PinRemapConfig(GPIO_(Partial)Remap_USART1,ENABLE)
3.3 NVIC-嵌套向量中断控制器(Nested Vectored Interrupt Controller) 中断优先级管理
3.3.1 cm3:256=16个内核中断+240个外部中断;STM32:84=16个内核中断+68个可屏蔽中断;STM32F103只有60个可屏蔽中断
3.3.2 NVIC寄存器介绍--NVIC_Type中的寄存器都是写1有效,写0无效
NVIC_Type结构体的成员如下-->每个成员均用8个32位寄存器控制,8X32=256
1)ISER[8]->Interrupt Set-Enable Registers:ISER[0]的bit0-31分别对应中断0-31,与ISER[1]的bit31-59,共60个中断
2)ICER[8]->Interrupt Clear-Enable Registers:和ISER功能相反,用于清除中断
3)ISPR[8]->Interrupt Set-Pending Registers(中断挂起控制寄存器):置1,可将正在进行的中断挂起,执行同级或高级的中断
4)ICPR[8]->Interrupt Claer-Pending Registers:与ICPR作用相反
5)IABR[8]->Interrupt Active Bit Registers(中断激活标志位寄存器-只读):该位位1,则表示所对应的中断正在执行,中断执行完成,硬件自动清零
6)IP[240]->Interrupt Priority Registers(中断优先级控制寄存器):240个8位寄存器组成,IP[59]-IP[0]分别对应中断59-0,且只使用高四位=>抢占优先级+子优先级
*##*STM32中断分组:5组(0-4),分组设置由SCB->AIRCR寄存器的bit10-8来定义
抢占优先级>响应优先级,数值越小,则优先级越高--------需查看AIRCR中断分组表-共5组
中断分组函数:NVIC_PriorityGroupConfig(u32 NVIC_PriorityGroup),整个系统只能调用一次
函数的参数(NVIC_PriorityGroup值)有下列5种:
NVIC_PriorityGroup_0 => 选择第0组
NVIC_PriorityGroup_1 => 选择第1组
NVIC_PriorityGroup_2 => 选择第2组
NVIC_PriorityGroup_3 => 选择第3组
NVIC_PriorityGroup_4 => 选择第4组
*##*STM32中断初始化函数:NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)
NVIC_InitStruct成员:
typedef struct{uint8_t NVIC_IRQChannel;//定义初始化中断号 uint8_t NVIC_IRQChannelPreemptionPriority;//定义抢占优先级 uint8_t NVIC_IRQChannelSubPriority;//子优先级FunctionalState NVIC_IRQChannelCmd;//该中断是否使能 }EXTI_InitTypeDef;
typedef struct{uint8_t NVIC_IRQChannel;//定义初始化中断号 uint8_t NVIC_IRQChannelPreemptionPriority;//定义抢占优先级 uint8_t NVIC_IRQChannelSubPriority;//子优先级FunctionalState NVIC_IRQChannelCmd;//该中断是否使能 }EXTI_InitTypeDef;
中断优先级设置步骤:
(1) 设置中断分组,确定组号-->确定抢占优先级和子优先级的分配位数,调用函数
(2) 设置所用中断的优先级,调用函数
7)STIR:
喜欢的话,可以关注微信公众号“混沌无形”
STM32F103mini基础知识归纳相关推荐
- 大学计算机技术知识大全,大学计算机全章节重点基础知识归纳大全.doc
大学计算机全章节重点基础知识归纳大全 PAGE \* MERGEFORMAT 18 大学计算机基础重点归纳 第一章:计算机概论 19646年,第一台计算机,ENIAC 计算机分类(6):巨型,小巨型, ...
- vf计算机二级的描述,计算机二级vf共基础知识归纳.doc
计算机二级vf共基础知识归纳 第一章 数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述.算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计.算法的基本特征:是一组严谨地定义 ...
- Python基础知识归纳
Python 基础教程 Python 基础教程 Python 简介 Python 环境搭建 Python 中文编码 Python 基础语法 Python 变量类型 Python 运算符 Python ...
- 小程序全面基础知识归纳
一.基础要点 1.文件结构 1-1 page.json全局配置 | 微信开放文档 app.json 是当前小程序的全局配置,包括了小程序的所有页面路径.界面表现.网络超时时间.底部tab等.普通快速启 ...
- HTML常用基础知识归纳
1.什么是HTML? HTML 是用来描述网页的一种语言. HTML 指的是超文本标记语言: HyperText Markup Language HTML 不是一种编程语言,而是一种标 ...
- [NOIP赛前冲刺第一期]初赛基础知识归纳
关于计算机 1.CPU 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心(Control Unit).它的功能 ...
- 三校生高考计算机基础知识,计算机基础知识题(单选题)(三校生历年高考真题归纳)...
精品文档 . 计算机基础知识题(单选题)2007-2018年三校生历年真题归纳 1.Reset按钮用于() A.复位启动 B.冷启动 C.中止某项操作或命令 D.检查部件是否正常 2.一个完整的计算机 ...
- 历年来计算机基础知识,计算机基础知识题单选题历年高考真题归纳.docx
精品文档 计算机基础知识题(单选题) 2007-2018 年三校生历年真题归纳 1.Reset 按钮用于( ) A.复位启动 B.冷启动 C.中止某项操作或命令 D.检查部件是否正常 2.一个完整的计 ...
- 数据结构基础知识核心归纳(一)
数据结构基础知识核心归纳(一) 转载请声明出处:http://blog.csdn.net/andrexpert/article/details/77900395 Android ...
最新文章
- OpenCV2:图像滤波基础
- CCNA-第十二篇-STP+ACL(下)
- inc指令是什么意思_西门子PLC一些指令
- grasp设计模式应用场景_grasp设计模式笔记回顾
- 人脸检测算法_腾讯已开源高精度人脸检测算法DSFD
- 37 MM配置-采购-采购订单-采购订单审批-编辑类
- LabVIEW: 无法执行该VI。
- mongodb 权限设置--用户名、密码、端口
- spark-sql如何删除表_SparkSQL数据源之Hive数据库
- 12.万无一失:网站的高可用架构
- DNSObserver检测DNS安全漏洞
- java课程设计代码_java(课程设计之记事本界面部分代码公布)
- TPAdmin 验证码不显示问题
- APS高级计划排程系统和生产排产系统
- 免费的视频转Gif软件
- 微信小程序+.NET(五) 音频格式转换-从.mp3到.wav
- 如何理解js中的this
- 【6GHz矩形贴片天线设计与分析】
- Java实现验证码制作
- [译]GitHub应对1.28宕机事故的前前后后
热门文章
- React redux
- cocos2dx 物理碰撞
- Zookeeper原理分析之存储结构ZkDatabase
- 网络协议IPV6基础知识点集锦
- 这是html5中WebGL的演示
- pivotx的entry和page内容里的日期格式修改
- delphi连接SQL2005做的数据库管理系统的一些部署问题
- “服务器发送了一个意外的数据包。received:3,expected:20“问题的解决方法
- 10个Python进行数据分析的小技巧
- Win10更新提示0x8024402f错误的解决方法