从零打造一个机器人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单片机】相关推荐

  1. 从零打造一个机器人002【初识机器人操作系统--ROS】

    从零打造一个机器人002[初识机器人操作系统–ROS] 1.ROS是什么 ROS是一个适用于机器人的开源的元操作系统.其实它并不是一个真正的操作系统,其底层的任务调度.编译.寻址等任务还是由Linux ...

  2. 从零打造一个Web地图引擎

    说到地图,大家一定很熟悉,平时应该都使用过百度地图.高德地图.腾讯地图等,如果涉及到地图相关的开发需求,也有很多选择,比如前面的几个地图都会提供一套js API,此外也有一些开源地图框架可以使用,比如 ...

  3. 使用 Vite 和 TypeScript 从零打造一个属于自己的 Vue3 组件库

    前言 随着前端技术的发展,业界涌现出了许多的UI组件库.例如我们熟知的ElementUI,Vant,AntDesign等等.但是作为一个前端开发者,你知道一个UI组件库是如何被打造出来的吗? 读完这篇 ...

  4. react在线文件_【前端新手也能做大项目】:从零打造一个属于自己的在线Visio项目实战【ReactJS 】 (一)...

    本系列教程是教大家如何根据开源js绘图库,打造一个属于自己的在线绘图软件.当然,也可以看着是这个绘图库的开发教程.如果你觉得好,欢迎点个赞,让我们更有动力去做好! 本系列教程重点介绍如何开发自己的绘图 ...

  5. 区块链开发实战:如何从零打造一个去中心化应用

    编译 | 区块链大本营 整理 | reason_W 区块链会是一场革命吗? 今天,很多成功的互联网企业都是在以中介者的形式存在.比如Google--你和互联网之间的中介,比如亚马逊--买家和卖家之间的 ...

  6. (实战)Vue + Koa从零打造一个H5页面可视化编辑器——Quark-h5

    作者:围的围 https://juejin.im/post/5dc81428e51d4523632ee793 前言 想必你一定使用过易企秀或百度H5等微场景生成工具制作过炫酷的h5页面,除了感叹其神奇 ...

  7. 【干货】SSM,Jquery, Bootstrap从零打造一个论坛系统

    前言 分享一个SSM的实战项目,一个使用springmvc,mybatis,jequery,bootstrap,ueditor打造的论坛系统,主要包含论坛主体,后台管理两个部分. git地址如下:gi ...

  8. Vue + element从零打造一个H5页面可视化编辑器——pl-drag-template

    pl-drag-template Github地址:https://github.com/livelyPeng/pl-drag-template 前言 想必你一定使用过易企秀或百度H5等微场景生成工具 ...

  9. 从零搭建一个机器人仿真的平台

    搭建ROS(机器人操作系统)和ROS2 ROS2可以在macOS.Windows.Linux.Debian和Ubuntu上安装,参考教程:ROS2的安装 ROS只可以安装在Ubuntu系统之上,从零开 ...

最新文章

  1. 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理
  2. python3菜鸟教程中文-Python3 字符串
  3. Android Activity跳转动画,让你的APP瞬间绚丽起来
  4. 基于快速原型模型建立商业呼叫中心SPOMP的应用研究
  5. 如何在 JBoss AS 7 中使用 Service Archive SAR 文件
  6. linux0775权限,Linux权限管理
  7. 娃哈哈困境:做好了生意,没做好品牌
  8. Hadoop常见问题 | Hadoop能干什么?
  9. ElasticSearch和solr的对比
  10. python关于二手房的课程论文_python之数据清理-以二手房信息为例
  11. C++中怎么调用C函数
  12. BZOJ 3166 set+可持久化trie树(OR 莫队)
  13. matlab中单位格式,[转载]matlab中的数据显示格式-format
  14. 7个等级 容灾等级_猫奴的10个等级 你的奴性有多高?
  15. 精选了20个Python实战项目(附源码)
  16. java 基于微信小程序的饭店外卖点餐系统 uniapp小程序
  17. 三星r381android+wear,三星Gear 2 成功连接非三星手机详细教程
  18. Samtools说明文档网址变更
  19. 手写原笔迹输入_原笔迹真实展现 E人E本 M1手写功能体验
  20. java中final关键字。PS:转自海子

热门文章

  1. 【进度2】从阿里云迁至腾讯云,并添加网站备案号
  2. Android中的像素单位
  3. VMware之usb识别不了(灰色)的问题解决办法
  4. 第二章 关于74181逻辑图中的Cn+1
  5. 结对编程的好处与坏处
  6. “十亿赌约”即将到期 董明珠和雷军谁将笑到最后?
  7. 第五章 面向对象——多态 课后作业:
  8. java出租车源码_一文教你用java实现出租车计价器设计(附下载源码)
  9. 配置HTTP通过IIS访问分析数据库
  10. java 枚举定义变量_Java枚举(enum)