ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

stm32学习随笔记录贴

2021-02-16 19:33:24  阅读:195  来源: 互联网

标签:输出 管脚 记录 高电平 存储器 低电平 stm32 寄存器 随笔


stm32个人学习随笔记录贴,如有错误,欢迎指正。

stm32最小系统组成
(1)电源电路
(2)复位电路
(3)晶振电路
(4)下载电路

stm32启动模式

启动模式选择引脚启动模式说明
BOOT0BOOT1
X0主闪存存储器主闪存存储器被选为启动区域
01系统存储器系统存储器被选为启动区域
11内置SRAM内置SRAM被选为启动区域

一般情况下如果我们想用串口下载代码,则必须配置BOOTO为1, BOOT1为 0,而如果想让STM32一按复 位键就开始跑代码,则需要配置BOOTO为0,BOOT1随便设置都可以。

存储器映射:存储器本身不具有地址信息,地址由厂商或用户分配,给存储器分配地址的过程称为存储器映射。如果再分配一个地址就叫重映射。

寄存器映射:通过给特定功能的内存单元取别名,这个别名就是寄存器。给已经分配好地址的有特定功能的内存单元起别名的过程叫寄存器映射。

寄存器操作:定义采用宏定义,

寄存器模板文件创建:

0bj文件夹:用于存放编译产生的c/汇编/链接的列表清单、调试信息、hex文件、预览信息、封装库等文件。
User文件夹:用于存放用户编写的main. C、STM32F1启动文件、stm32f10x. h头文件。

GPIO ( general purpose intput output ):GPI0引脚与外部设备连接起来,从而实现与外部通讯控制以及数据采集的功能。

STM32引脚种类:

电源管脚、晶振管脚、复位管脚、下载管脚、BOOT管脚、GPIO管脚

2. GPI0工作模式

输入模式
输入浮空 、输入上拉、 输入下拉、 模拟输入

输出模式
开漏输出 、开漏复用功能、 推挽式输出 、推挽式复用功能

(1)推挽输出
A.可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由VSS决定。
B.推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。
C.输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽

(2)开漏输出
a.只能输出低电平,不能输出高电平。如果要输出高电平,则需要外接上拉。
b.开漏输出具有“线与”功能,一个 为低,全部为低,多用于I2C和SMBUS总线。

3. GPI0初始化步骤
具体寄存器参考STM32F1xx中文参考手册
(1)确定GPI0的工作模式和工作速度(通过配置寄存器GPIOx_ CRL/低八位和GPIOx_ CRH/高八位)
(2)具体要输出的内容(置位复位寄存器: BSRR和数据输出寄存器: ODR)

  1. STM32启动文件
    对于启动文件这部分我们主要总结它的功能,不详细讲解
    里面的代码,其功能如下:

初始化堆栈指针 SP;
初始化程序计数器指针PC;
设置堆、栈的大小;
设置中断向量表的入口地址;
配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM)
调用SystemInit() 函数配置STM32的系统时钟
设置C库的分支入口“__main”( 最终用来调用main函数)

标签:输出,管脚,记录,高电平,存储器,低电平,stm32,寄存器,随笔
来源: https://blog.csdn.net/m0_52074396/article/details/113822656

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有