从零打造一个机器人003【初识STM32单片机】
从零打造一个机器人003【初识STM32单片机】
1.什么是单片机
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
2.什么是STM32
对于STM32,从字面意思上来理解,ST是意法半导体,M是Microelectronics的缩写,其中32表示的是32位,那么整合起来理解就是:STM32就是指的ST公司开发的32位微控制器。在如今的32位控制器中,STM32可以说是最闪耀光彩夺目的新星,所以也造就了STM32被现在的大多数工程师以及市场所青睐,对它是宠爱有加啊!
STM32系列基于专门要求高性能,低成本,低功耗的嵌入式应用专门设计的ARM Cortex-M0,Cortex-M1,Cortex-M3,Cortex-M4,Cortex-M7等。其中Cortex-M0主打的是低功耗和混合信号的处理,M3主要用来替代ARM7,重点侧重能耗和性能的均衡,而M7则重点放在高性能控制运算领域。
3.STM32有什么
串口——USART, 用于跟串口接口的通信设备,例如:USB转串口模块/GSP模块
内部集成电路——I2C,用于和I2C接口的设备通信,例如:EEPROM,电容屏,陀螺仪MPU
串行通信接口——SPI,用于与SPI接口设备通信
SDIO(驱动SD卡),FSMC(驱动屏幕),I2S,ADC,GPIO
4.STM32分类
CPU位数 | 内核 | 系列 |
---|---|---|
32 | Cortex-M0 | STM32-F0/L0 |
32 | Cortex-M3 | STM32-F1/F2/L1 |
32 | Cortex-M4 | STM32-F3/F4/L4 |
32 | Cortex-M7 | STM32-F7 |
5.STM32基本功能模块
6.STM32系列处理器内部结构
STM32系列芯片的四个驱动单元分别为:DMA1、DMA2、系统总线以及内核总线。四个被动单元分别为:APB设备、APB桥、内部Flash及SRAM。本次设计所选用的芯片具有64K字节的SRAM、512K字节的FLASH、四个通用定时器、两个基本定时器、两个高级定时器、三个SPI总线、一个CAN总线、两个IIC总线、一个USB接口以及三个12位ADC,一个12位DAC、一个FSMC接口、一个SDIO接口、112个通用I/O口。
从零打造一个机器人003【初识STM32单片机】相关推荐
- 从零打造一个机器人002【初识机器人操作系统--ROS】
从零打造一个机器人002[初识机器人操作系统–ROS] 1.ROS是什么 ROS是一个适用于机器人的开源的元操作系统.其实它并不是一个真正的操作系统,其底层的任务调度.编译.寻址等任务还是由Linux ...
- 从零打造一个Web地图引擎
说到地图,大家一定很熟悉,平时应该都使用过百度地图.高德地图.腾讯地图等,如果涉及到地图相关的开发需求,也有很多选择,比如前面的几个地图都会提供一套js API,此外也有一些开源地图框架可以使用,比如 ...
- 使用 Vite 和 TypeScript 从零打造一个属于自己的 Vue3 组件库
前言 随着前端技术的发展,业界涌现出了许多的UI组件库.例如我们熟知的ElementUI,Vant,AntDesign等等.但是作为一个前端开发者,你知道一个UI组件库是如何被打造出来的吗? 读完这篇 ...
- react在线文件_【前端新手也能做大项目】:从零打造一个属于自己的在线Visio项目实战【ReactJS 】 (一)...
本系列教程是教大家如何根据开源js绘图库,打造一个属于自己的在线绘图软件.当然,也可以看着是这个绘图库的开发教程.如果你觉得好,欢迎点个赞,让我们更有动力去做好! 本系列教程重点介绍如何开发自己的绘图 ...
- 区块链开发实战:如何从零打造一个去中心化应用
编译 | 区块链大本营 整理 | reason_W 区块链会是一场革命吗? 今天,很多成功的互联网企业都是在以中介者的形式存在.比如Google--你和互联网之间的中介,比如亚马逊--买家和卖家之间的 ...
- (实战)Vue + Koa从零打造一个H5页面可视化编辑器——Quark-h5
作者:围的围 https://juejin.im/post/5dc81428e51d4523632ee793 前言 想必你一定使用过易企秀或百度H5等微场景生成工具制作过炫酷的h5页面,除了感叹其神奇 ...
- 【干货】SSM,Jquery, Bootstrap从零打造一个论坛系统
前言 分享一个SSM的实战项目,一个使用springmvc,mybatis,jequery,bootstrap,ueditor打造的论坛系统,主要包含论坛主体,后台管理两个部分. git地址如下:gi ...
- Vue + element从零打造一个H5页面可视化编辑器——pl-drag-template
pl-drag-template Github地址:https://github.com/livelyPeng/pl-drag-template 前言 想必你一定使用过易企秀或百度H5等微场景生成工具 ...
- 从零搭建一个机器人仿真的平台
搭建ROS(机器人操作系统)和ROS2 ROS2可以在macOS.Windows.Linux.Debian和Ubuntu上安装,参考教程:ROS2的安装 ROS只可以安装在Ubuntu系统之上,从零开 ...
最新文章
- 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理
- python3菜鸟教程中文-Python3 字符串
- Android Activity跳转动画,让你的APP瞬间绚丽起来
- 基于快速原型模型建立商业呼叫中心SPOMP的应用研究
- 如何在 JBoss AS 7 中使用 Service Archive SAR 文件
- linux0775权限,Linux权限管理
- 娃哈哈困境:做好了生意,没做好品牌
- Hadoop常见问题 | Hadoop能干什么?
- ElasticSearch和solr的对比
- python关于二手房的课程论文_python之数据清理-以二手房信息为例
- C++中怎么调用C函数
- BZOJ 3166 set+可持久化trie树(OR 莫队)
- matlab中单位格式,[转载]matlab中的数据显示格式-format
- 7个等级 容灾等级_猫奴的10个等级 你的奴性有多高?
- 精选了20个Python实战项目(附源码)
- java 基于微信小程序的饭店外卖点餐系统 uniapp小程序
- 三星r381android+wear,三星Gear 2 成功连接非三星手机详细教程
- Samtools说明文档网址变更
- 手写原笔迹输入_原笔迹真实展现 E人E本 M1手写功能体验
- java中final关键字。PS:转自海子