<4>STM32F103基础知识
1.什么是ARM
ARM是一家芯片设计企业,也是对一大类微处理器的统称。
2.什么是STM32
ST:意法半导体(一个公司名),是一个SOC企业
M——Microelectronics的缩写即微控制器,M0、M3、M4
32——32位,表示是一个32位微控制器
STM32的芯片结构图
3.STM32F10x最常见的系列
STM32F101 基本型系列,主频为36MHz
STM32F102USB 基本型系列,主频为48MHz
STM32F103 增强型系列,主频为72MHz
STM32F105/107 互联网型系列,主频为72MHz
4.STM32芯片的命名规则
例如我们最常见的STM32F103C8T6
它是由意法半导体生产的M3架构的基础增强型32位MCU,具有48个引脚,64字节的Flash,采用LQFP封装,工作温度范围在-40~+85度
5.半导体常见的封装方式(以上图片均来源于网络)
DIP——(塑料)双列直插式封装,适用于中小规模集成电路,引脚数一般不超过100个
SOP——小外型表面贴片封装,广泛应用于10-40个引脚的芯片
PQFP——塑料方形扁平封装,管脚很细,一般应用于大规模或超大型集成电路,引脚数一般在100个以上
LQFP——薄型QFP指封装,本体厚度为1.4mm的QFP
BGA——(塑料)球栅阵列封装,Intel系列的80486和Pentium等CPU多采用这种封装方式
PGA——插针网格阵列封装,有专门的PGA插座,插拔方便,常用于CPU的封装
PLCC——塑封方形引脚插入式封装,外形尺寸比DIP封装小得多,必须采用SMT(表面贴装技术)进行焊接
6.1STM32开发模式
1、寄存器开发方式
直接对STM32的寄存器进行编程操作,是最底层开发方式,类似51直接操作引脚
2、标准外设库开发方式
将底层寄存器的操作进行了统一封装,包括所有标准器件外设的驱动器,采用C语言实现,开发人员只需要熟悉并调用相应的应用程序编程接口函数,即可实现对相关外设的驱动操作
3、HAL库开发方式
与STM32CubeMX软件(配置STM32代码的工具)配套使用的,它把底层硬件相关的内容封装起来并及进行抽象,通过图形化的操作方式自动生成相关外设的驱动代码,简单易用
6.2寄存器开发模式
根据STM32定义好的寄存器,查阅STM32中文参考手册对组成寄存器各bit位的操作说明,配置相应寄存器的各bit位,从而直接进行寄存器编程,完成相应功能。
6.3标准外设库开发方式
为了解决不同芯片厂商生产的基于Cortex内核的微处理器在软件上的兼容问题,ARM公司与众多芯片和软件厂商共同制定了CMSIS标准(Cortex Microcontroller Software Interface Standard,Cortex微控制器软件接口标准),意在将所有Cortex芯片厂商产品的软件接口标准化。
使用标准外设库,开发者无需深入掌握底层硬件细节,只需调用库函数对GPIO或者其他功能进行相关配置即可,能够轻松地应用每一个外设。
6.4HAL库开发方式
HAL(硬件抽象层)是位于内核与硬件电路之间的接口层,其目的是将硬件抽象化。基于HAL库的开发方式,其实质是仍然是通过操作底层寄存器来实现相应功能,只是将寄存器操作进行了封装,以函数形式提供给开发人员使用。
<4>STM32F103基础知识相关推荐
- 嵌入式Linux的OTA更新,基础知识和实现
嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...
- 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记
计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...
- 《计算机网络应用基础》模拟试卷(六),《计算机与网络应用基础知识1》模拟试卷...
<计算机与网络应用基础知识1>模拟试卷 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 <计算机与网络应用基础知识1& ...
- python向量计算库教程_NumPy库入门教程:基础知识总结
原标题:NumPy库入门教程:基础知识总结 视学算法 | 作者 知乎专栏 | 来源 numpy可以说是 Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas, ...
- python常用变量名_python基础知识整理
Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...
- 计算机基础知识掌握欠缺,《计算机基础知识》实验教学改革探讨.pdf
<计算机基础知识>实验教学改革探讨.pdf Science& TechnologyVision 科 技 视 界 科技 探·索·争鸣 计<算机基础知识>实验教学改革探讨 ...
- python计算wav的语谱图_Python实现电脑录音(含音频基础知识讲解)
前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些东西已经有了,不妨直接去 github 上搜,用 ...
- 计算机wrod初级考试题及答案,计算机基础知识+Word基础知识+Excel基础知识试题答案解析.doc...
文档介绍: 计算机基础知识+ Word基础知识+ Excel基础知识 第一部分 一.单项选择题 1.世界上第一台电子数字计算机取名为( ). A.UNIVAC B.EDSAC C.E ...
- java 前端基础知识_【计算机·知识】关于前端的计算机基础知识
原标题:[计算机·知识]关于前端的计算机基础知识 作为一个刚刚入门的程序猿,你是否对专业知识有足够的了解?今天新闻君带你走进前端的世界. 前端的语言接触起来相对于后端的语言要容易不少,但前端的语言也有 ...
最新文章
- pycharm连接远程服务器
- IntelliJ idea 新建项目并导入netty(转)
- Linux NAPI/非NAPI
- python自学笔记(三)python基本数据类型之列表list
- 寻找免费的阿里云云盾隐秘购买入口,申请并下载ssl证书(https证书)的详细步骤
- cae计算机仿真分析技术,厉害了 揭秘汽车设计中CAE仿真技术
- 零基础学java web开发pdf_新手学Java Web开发.pdf
- vue学习笔记之:为何data是一个方法
- Android查看CPU和GPU使用率
- unix域套接字UDP网络编程
- oracle 调整缓存大小,设置数据缓冲大小_oracle
- 街机模拟器 WinKawaks 及街机 ROM 下载
- 89c52单片机c语言时钟,液晶显示AT89C52单片机DS1302实时时钟程序
- 龙芯2F一体机硬盘修复
- oracle32位迁移64位,Windows下Oracle10g32位遷移到11g64位
- 双系统重装win10后恢复grub引导
- mac百度网盘加速下载
- 中州韵输入法 linux,linux manjaro安装五笔+拼音输入法(中州韵)
- JAVA的卸载与重新安装
- 命名实体识别(二)——基于条件随机场的命名实体识别
热门文章
- LaTeX使用tikz-imagelabels宏包在图片上添加标签、文字等
- 如何测量多个变量之间的非线性关系
- 轻健身餐的市场前景如何?如何选择一个投资小、美食和健身餐清淡的品牌?
- 校园APP开发的优势和特点
- 最完美的“婚”鞋? NMD_R2“囍”(台灣愛迪達)
- OFFICE2016用过一段时间后正版密钥显示未激活问题
- 从哪些方面评价一款在线客服系统产品
- 记录学习Android基础的心得07:硬件控制P2
- java.lang.exceptionininitializererror_解决出现 java.lang.ExceptionInInitializerError错误问题
- chrome Android 前进 后退,停止Chrome后退/前进两根手指滑动