STM32 contex m3 笔记一
本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。
目录
简介
芯片架构
系统时钟
GPIO
简介
STM32是Cortex-M3 系列的,而Cortex-M3 处理器采用ARMv7-M 架构。
芯片架构
上图是stm32的系统结构。
使用哈弗体系结构,取指和取数据分离,
ICODE指令总线连接到flash闪存指令存储区,这个存储区的地址在0x00000000-0x1FFFFFFF之间,负责取指操作。
DCODE数据总线负责在0x00000000-0x1FFFFFFF之间的数据访问操作。这个数据存储区可以是SPRAM也可以是闪存和外设。Stm32f10系列的静态SPRAM为64K,起始地址为0x20000000.
系统总线:负责在0x20000000-0xDFFFFFFF和0xE0100000-0xFFFFFFFF之间所有的数据传送。
AHB 总线这是贯穿所有外设的一条总线, 可以在图中发现, AHB经过桥接, 由APB1、 APB2控制着几乎所有外设, 2>1, APB2属于高速设备, 而APB1则属于低速设备。
系统时钟
- HSE:外部晶体/陶瓷谐振器(一般选用8M 手册中提到范围为4~16Mz)用户外部时钟 (最高可达25MHz从SOC_IN引脚输入,并保证OSC_OUT悬空)。
- HSI:此时钟信号由内部8MHz的RC振荡器产生,可直接作为系统时钟或在2分频后作为
PLL输入。
- LSE:是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提
供一个低功耗且精确的时钟源
- LSI RC:担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,为独立看
门狗和自动唤醒单元提供时钟。 LSI时钟频率大约40kHz(在 30kHz和 60kHz之间)。
除此之外,值得一提的是SYSCLK/HSI/HSE/2分频的PLL时钟,可由时钟配置寄存器(RCC_CFGR)中的MCO[2:0]位控制外部 MCO引脚输出。作为时钟同步信号。
GPIO
GeneralPurposeInputOutput(通用输入/输出)
构体单元名 |
中文释义 |
实际结构与特点 |
AIN |
模拟输入 |
实际控制中,关闭了上端的施密特触发器(自己的翻译,图中TTL肖特基触发器恕我知识浅薄看不懂),以及输出驱动器即模拟信号仅能通过管脚流入片内模拟输入端。(有可能有下拉电阻,起到阻抗匹配作用)。 |
IN_FLOATING |
浮空输入 |
理解起来最简单,即什么都不接,手触摸的时候人体感应引脚,可能高可能低,这个就不好说啦, STM32结构不明,更何况人体是个大电容啊。一般不用。 |
IPD |
下拉输入 |
D即DOWN,下拉,笔者认为起到衰减及稳定信号作用,如有雷同理解,不胜荣幸。 |
IPU |
上拉输入 |
U即UP,上拉,此时在输入端,上拉电阻开关使能, 芯片或接口的内部或外部有上拉,保证输入不接信号时为1。 |
Out_OD |
开漏输出 |
相当于三极管集电极, 要得到输出高电平需上拉电阻, 若输出低电平则吸电流能力强,可参看达林顿管UNL2003,思考该芯片可否输出电平1 |
out_PP |
推挽输出 |
笔者钻研开关电源,(数字电路很没劲啦,一下一下就搞出来了的, 开关电源环节多, 健脑O(∩_∩)O~~) 习惯称为图腾柱输出, otemPole,或半桥,两个三极管或FET 受互补信号控制, 使得在一个导通时另一个总是截止。 一般用来用来匹配电压, 或者提高IO口的驱动能力。 在STM32中当然是为了提高其驱动能力而设定的。 |
AF_OD |
开漏复用 |
AF是复用的标号,是对于STM32的GPIO 管脚的第二功能而言的, 具体用到再说。 比如使用串口就是要设为复用哦。 具体配置可以参看参考手册V10: 8.1.11 外设的GPIO 配置 |
Stm32的GPIO的8种模式:
(1)GPIO_Mode_AIN 模拟输入
(2)GPIO_Mode_IN_FLOATING 浮空输入
(3)GPIO_Mode_IPD 下拉输入
(4)GPIO_Mode_IPU 上拉输入
(5)GPIO_Mode_Out_OD 开漏输出
(6)GPIO_Mode_Out_PP 推挽输出
(7)GPIO_Mode_AF_OD 复用开漏输出
(8)GPIO_Mode_AF_PP 复用推挽输出
STM32 contex m3 笔记一相关推荐
- STM32 FSMC学习笔记+补充(LCD的FSMC配置)
STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...
- stm32 u8g2移植笔记
STM32 u8g2 移植笔记 前言 当初想写一个单色屏菜单时,曾移植过u8g2到STM32平台(这里用的是keil MDK),不过当时一直有一个问题没有搞懂:为什么u8g2用在flash为32k,r ...
- stm32阶段总结笔记一
第一阶段总结笔记,主要对GPIO,串口,时钟,中断,定时器进行总结,方便后续写程序快速查阅,寄存器用来了解库函数具体怎么配置的 文章目录 一.GPIO 寄存器 库函数操作 二.中断 外部中断 寄存器 ...
- 【STM32】学习笔记RTC日历基础应用问题分析
▲ 点击上方 关注STM32 RTC,Real_Time Clock,即实时时钟,在许多电子系统中都能看到实时时钟的存在. 今天是第6篇分享,<STM32学习笔记>之RTC日历基础应用问题 ...
- STM32单片机学习笔记(七)-RCC时钟控制:简单了解时钟树(一)
写在前面:本系列内容均为自学笔记,参考资料为野火指南者开发板资料及芯片参考手册等,使用野火指南者开发板进行学习,该系列内容仅用于记录笔记,不做其他用途,笔记的内容可能会存在不准确或者错误等,如有大佬看 ...
- STM32 MPU 阅读笔记
STM32 MPU 笔记 MPU简介 MPU的功能实现 MPU 可以配置的三种内存类型 MPU 的内存属性 MPU 相关寄存器 MPU type register MPU control regist ...
- STM32单片机学习笔记
1. AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2. Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一 ...
- stm32中断源有哪些_143条 超详细整理STM32单片机学习笔记(必看)
点击上方蓝色字关注我们~ 1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f10x.h相当于reg52.h(里面有基本的 ...
- STM32基础课程笔记
[1]STM32简介 命名规范 STM32F051K8U6 ST - 公司 M - micro eletronics 32 - 32位处理器 STM8 F - 基础版 L - 低功耗 G - 电源 0 ...
最新文章
- MySQL中 Order By 和 Limit 的排序问题
- ECS控制台支持创建资源时绑定标签
- redis 附近的人_Redis GEO地理位置信息,查看附近的人
- oracle system用户创建job 其他用户,oracle创建表空间、用户和表以及sys和system的区别...
- StringStringBuilder的使用
- 汉诺塔(三) 判断操作是否合法 + 栈(stack)数组
- mysql mvc javascript_MVC中用Jquery、JS和Ajax 实现分页 存储过程是用mysql写的。
- 金蝶k3服务器物理内存过高,金蝶k3提示超出内存解决方案
- Java程序员职业规划
- Web2.0浪潮下的广播电视业
- Mycat分库分表案例demo
- Sql Server 数据库练习题(一)
- 圣诞献礼 | AI、微服务、DevOps、企业架构文章合集
- 知物由学 | 行为时序建模在社交引流黑产识别中的应用
- WebRTC音频系统 音频发送和接收
- java对一些文件格式的操作(读写)
- 一阶电路的零状态响应
- VR全景制作拍摄方法教程
- 微软将推新AI聊天机器人Zo 可能是小冰的英文版
- Android大型实战:《亲信,优雅的从入门到进阶》-刘桂林-专题视频课程
热门文章
- 转码机器人怎么制作?
- 国企与互联网公司当程序员,我选择国企,哪怕工资少一截
- 瑞波打脸批评者,与速汇金达成合作伙伴关系
- 二叉树系列二:二叉树的层序遍历(BFS)
- 网易邮箱申请多少钱、新浪邮箱多少钱、TOM VIP呢?
- 『Pytorch笔记』Pycharm中使用CUDA_VISIBLE_DEVICES=0!
- 写了两个月的黑白棋对战程序,发现早就有了GGS,互联网上的游戏。
- Ubuntu 16.04LTS(Xenial Xerus)离线安装docker
- STM32如何将文件放到内部flash里面
- UTC,GPS Time和TAI