关于嵌入式学习随笔-1《STM32简介》
什么是STM32?
·新的基于ARM内核的32位MCU系列
-内核为ARM公司为要求高性能、低成本、低功耗的嵌入式应用专门设计的Contex-M内核
-标准的ARM架构
·Cortex-M7采用ARMv7-ME(2007年后)架构
ARMv7架构定义了三大分工明确的系列:
1、“A”系列:面向尖端的基于虚拟内存的操作系统和用户应用。“A8”,“A9”系列都 是较为高端的芯片,可以运行安卓、liuix操作系统。
2、“R”系列:针对时时操作系统。
3、“M”系列:对微控制器。
Cortex实际上与ARM一样
M3-72MHz的运行速度
M4-168MHz的运行速度DSP指令功能显著增强
STM32F103ZET6名字的命名时有规则的
STM32型号的说明:以STM32F103ZET6这个型号的芯片为例,该型号的组成为7个部分,其命名规则如下:
(1)STM32:STM32代表ARM Cortex-M3内核的32位微控制器。
(2)F:F代表芯片子系列。
(3)103:103代表增强型系列。
(4)Z:R这一项代表引脚数,其中T代表36脚,C代表48脚,R代表64脚,V代表100脚,Z代表144脚。
(5)E:B这一项代表内嵌Flash容量,其中6代表32K字节Flash,8代表64K字节Flash,B代表128K字节Flash,C代表256K字节Flash,D代表384K字节Flash,E代表512K字节Flash。
(6)T:T这一项代表封装,其中H代表BGA封装,T代表LQFP封装,U代表VFQFPN封装。
(7)6:6这一项代表工作温度范围,其中6代表-40——85℃,7代表-40——105℃。
·固件库是什么?
固件库就是函数的集合(API),把寄存器操作封装起来。为了方便对寄存器的操作而进行的封装。在操作固件库的时候当然也可以操作寄存器。
·HAL库是什么?
大家都知道,嵌入式编程有两种操作方式,一种是寄存器操作编程,一种是库函数编程,库函数操作是把常用功能以函数形式封装起来,让人们更容易读懂,具有较高的可读性,方便移植,库函数目前有标准库、HAl库较为常用,在M3一般常用标准库,在之后的M4可用标准库与HAL库,M4之后的M7一般只有HAL库,可以说HAL库是STM公司后来推出来的推荐大家使用的库,HAL库的最大优点在于他可以很方便的在各个STM平台移植。
·库函数操作与寄存器操作有什么区别?
其实库函数操作的实质还是寄存器操作,最底层仍然是寄存器操作,只是我们对其进行了封装,封装成了一些具有独特功能的函数,之后我们就直接通过函数操作就可以了,这样做的目的是为了增强程序的可读性,其本质仍然是对寄存器的操作。而寄存器操作需要我们十分了解芯片的内部寄存器,以及寄存器每一位的功能,这样才能进行编程,而寄存器一般有很多,而且每个寄存器一般都有很多位,全部记住是不现实的,因此,我是更加推荐使用库函数的操作方法,能让读者很容易的知道编程的目的,即想要实现的功能。
·库函数操作与寄存器操作可以同时使用吗?
当然这是可以的,只要理解了其本质就很容易明白了,库函数操作的本质即对寄存器的操作,只要操作不是相互冲突的,当然都可以。另外一个不推荐使用寄存器操作的原因是不好检查错误,当程序出现错误的时候,你很难检查出是哪一步操作出现的错误。
转载于:https://www.cnblogs.com/vcan123/p/10409611.html
关于嵌入式学习随笔-1《STM32简介》相关推荐
- stm32学习笔记-1 STM32简介
1 STM32简介 [toc] 注:笔记主要参考B站 江科大自化协 教学视频"STM32入门教程-2023持续更新中". 注:工程及代码文件放在了本人的Github仓库. 1.1 ...
- 关于嵌入式学习随笔-6《NVIC中断优先级管理》
1.中断技术概述 在单片机应用系统中,中断技术主要用于时时检测与控制,也就是要求单片机能感及时地响应中断请求源提出的服务请求,进行快速响应并及时处理,这些工作是由单片机片内的中断系统来实现的.当中断请 ...
- 嵌入式学习总结之STM32(一)仿真软件proteus的使用
首先是打开stm32cubemx 打开后选择生成项目工程 然后这里我选择的是STM32F103C8 接着选择Serial Wire,以及两个IO口设置成输出 接着选择时钟,这里我都选择外部时钟下一步选 ...
- 嵌入式学习笔记——STM32的USART通信概述
文章目录 前言 常用通信协议分类及其特征介绍 通信协议 通信协议分类 1.同步异步通信 2.全双工/半双工/单工 3.现场总线/板级总线 4. 串行/并行通信 5. 有线通信.无线通信 STM32通信 ...
- 嵌入式学习笔记——ADC模数转换器
ADC模数转换器 前言 ADC介绍 ADC概述 ADC的数量 ADC的特性 ADC框图 芯片外部框图 芯片内部框图 转换部分框图 状态输出部分 条件触发框图 寄存器介绍 编程思路 模式选择 规则通道的 ...
- 嵌入式学习笔记——基于Cortex-M的单片机介绍
基于Cortex-M的单片机介绍 前言 1生产厂商及其产品线 1.1ARM单片机的产品线 1.2命名规则 作业1 2习单片机的资料准备 2.1STM32开发所需手册 2.1.1芯片的数据手册 芯片基本 ...
- 嵌入式学习笔记——寄存器实现控制LED小灯
文章目录 前言 GPIO通用输出模式 初始化LED小灯的GPIO 原理图 初始化代码 初始化的效果 功能函数封装 直接分开宏定义两个 使用条件运算符 封装函数实现简单的功能 KEIL MDK一些技巧 ...
- STM32 嵌入式学习入门(4)——PWM原理
STM32 嵌入式学习入门(4)--PWM原理 本文先对STM32F103的通用定时器作一简单介绍,然后详细介绍通用定时器的一个应用--输出PWM波形的原理.整个文章以介绍"怎么用" ...
- 嵌入式学习之STM32实现OLED
嵌入式学习之STM32实现OLED 一.实验要求 二.SPI介绍 三.OLED介绍 四.实验过程 1.代码编写: 实验结果演示: 一.实验要求 理解OLED屏显和汉字点阵编码原理,使用STM32F10 ...
- 嵌入式学习⑤——STM32嵌入式应用系统设计
目录 前言 一.基于跨平台多类型代码编辑器VScode 1.VScode的安装 2.Ubuntu中用vscode编译调试C\C++ 二.Proteus仿真--STM32流水灯 1.创建工程 2.配置实 ...
最新文章
- 【linux】Matchbox(二):基本概念
- 使用Prometheus和Grafana实现SLO
- 学好python需要多久-python入门要学多久
- PHP免费的空间www.hostinger.co.uk
- 网页制作中的背景处理
- 一个老外如何丑化中国程序员
- python中的数组是什么_Python中的数组
- kubernetes 1.14安装部署metrics-server插件
- idea 搜索不到gsonformat_IDEA开发工具插件之GsonFormat
- 《OpenGL编程指南》 笔记一 OpenGL概述
- PLSQL注册码(永久可用)
- 23岁女工为600元全勤奖带伤加班3天 一周后身亡
- fastreport 打印有 demo version字样_用户增长留存的数字化管理实操, 11大行业demo重构你的运营方法论...
- 问题解决:opencv imwrite图片保存为黑色
- 谷歌drive收费_Google Drive的系统设计分析
- 解决Ubuntu22.04wps打不开的问题
- 【多目标优化】2. 非支配排序遗传算法 —(NSGA、NSGA-II)
- 安兔兔电脑ssd测试软件,威钰战国NVMe SSD测评,安兔兔SSD测试软件到底靠不靠谱...
- Cisco三层交换机配置命令及解释
- 高德LBS开放平台携手SAE 抱团背后开发者受益
热门文章
- c语言编程工程师基础,c语言工程师的工作是什么
- python中和操作目录相关的函数包括_python常用的文件目录操作函数
- android studio布局显示图片,Android Studio 使用ImageView时不显示布局
- matlab红色爱心,心形图的matlab实现
- python整数浮点数复数类型判断函数_Python数值类型(整形、浮点型和复数)及其用法讲解...
- js 自动分配金额_深入解析Node.js事件循环工作机制
- vue无法监听对象的属性的增加和删除
- android 接口的调用方法参数类型转换,Android NDK开发之JNI基础
- python向上取整_python向上取整-取整,向上
- 7.监控应用和数据可视化 7.1通用健康状态指引器