先理清楚一些概念,然后我们再说下区别。

什么是处理器?

常常说的处理器,指的是CPU,擅长做计算,一般主频用Ghz来计算,因为频率很高,适合跑系统,比如Linux。市面上常用的处理器有Intel AMD厂商的x86架构处理器,有IBM的power架构处理器,高通苹果海思有ARM架构处理器。说PC端的处理器大家比较熟悉,移动端现在几乎ARM架构处理器一统天下。

那么什么是ARM处理器呢?

这就要介绍一下ARM公司的产品线,ARM属于英国一家公司,专门设计内核,目前的内核有M0,M3,M4,M7,H7,A系列。

这里说的处理器说的就是A系列内核的芯片。比如树莓派使用了博通的处理器,一共两个大核心A72,4个小核心A53。

除了A系列内核的芯片叫处理器,其他都不是。

因此你说的其中只有树莓派是处理器。

那么剩下的M内核是什么?

M指的是MCU,Microcontroller Computer Unit (微控制器单元),又叫单片微型计算机(简称单片机)

单片机是把非常微小的CPU,内存,定时器,和各种外部接口集成在一个芯片上,形成了芯片级别的微型计算机。

因此从M0到M7内核对应着不同的CPU频率,从48M到好几百M不等,经典的STM32F103是M3内核,72Mhz主频。

Arduino一般认为是使用avr系列8位单片机的开发板和atmel公司的arm开发板,当然现在也有其他开发板,比如esp8266,esp32,stm32系列,飞思卡尔的k系列,这里我们说Arduino就单只8位单片机。

Arduino最受欢迎的有两个芯片,Atmega2560和Atmega328p,都是8位单片机,16Mhz主频。属于avr系列单片机,是比较旧的,不是现在主流的arm m内核。

51单片机由于国内和Arduino一样,都是8位单片机,但是属于英特尔抛弃的51内核,由于该芯片价格极低,功能简单易用,现在在简单低端的应用上非常受欢迎。现在STM32出了STM8的8位单片机抢51单片机的市场。

大概有了了解,那么说下他们的区别。

Arduino是为创客而生的,你懂太多硬件知识就能够使用单片机控制你周围的所以设备,因此性能,代码大小什么的,从来不是首先考虑的事情,我们在做项目的时候,需要的就是快速原型实现,和快速项目迭代,多人项目合作。这就是Arduino的优点,因此现在网络上非常多人贡献了代码库,你使用Arduino的时候只需要调用库就可以了。

51单片机,这是高校电子专业必修和课程,麻雀虽小五脏俱全,非常适合用来教学,由于寄存器很少,用汇编写代码也不是很难,用c编代码就更容易了。这样一年年下来,国内51的资源非常丰富,又有stc这样的厂商提供芯片,大学生还是很喜欢用的。

STM32,得益于ARM这样的内核设计公司授权IP内核,这样STM32公司不需要设计自己的内核,只需要为内核搭配不同的外部接口即可生产出自己的芯片。因为单片机的使用场景非常复杂,不同场景要求的芯片价格也极其敏感。这样导致了单片机是一个非常定制化的东西。所以市场上会出现某个系列的单片机非常受欢迎就是这个原因,因为这样的芯片匹配到了多数场景。ARM公司的IP授权模式使得这些芯片厂商能够从内核设计工作解脱出来,专门做好芯片的定制化就行。

最开始是意法半导体基于ARM公司的M3内核设计了一款中高端定位的32位芯片,STM32F103,然后非常受欢迎,哪怕现在还是新手入门必选。那时候在往高端的就是ARM公司的ARM7,ARM9内核处理器了,需要跑裁剪后的Linux系统,哪怕现在华为和全志一些芯片还在使用ARM9内核,主频不到1Ghz。STM32火了之后其他厂商也开始使用ARM的M3内核,接着后面ARM开发了M0和M4M7内核,针对更低端和更高端的设备应用场景。STM32就使用这些内核开发了不同系列芯片,比如stmf0,stm32f4,stm32f7等。飞思卡尔开发了k6和k2系列,分别对应m4和m0内核。

所以最后,如果是开发产品,那么一般选择STM32的芯片,性价比非常高,当然不同项目或者设备不同,需要考虑的不一样。

比如为了降低成本,国产的32位单片机也未尝不可。

比如项目不一样,不一定只考虑STM32,还有microchip,atmel,飞思卡尔,ti等品牌呢,而且有时候不同厂家的芯片就代表了某一个产品的开发方案。而且有些项目还要考虑是否是汽车级或者工业级。

有时候Arduino未必不能做开发,比如现在的3d打印机项目就是基于arduino的,也没看出差在哪里。

如果你只需要点亮一个普通led灯,不一定非得用32位的单片机,用51妥妥的,或者使用你最熟悉的芯片就好了。

单片机最擅长的就是控制,并非处理速度,只要能实现目标控制就好。因此芯片只不过是我们手上工具而已。

一些常见的处理器如arm,arduino,stm32,51,树莓派的联系和区别,还有各自的长短板?相关推荐

  1. arduino与51单片机的十大区别,哪个好学?

    在DF创客社区上很多初次学习arduino和单片机的同学都会问同一个问题,那就是arduino与51单片机有什么区别?arduino和51单片机哪个性能更强? 针对这个问题我们先来了解下arduino ...

  2. Arduino/stm32 智能小车设计(二)

    Arduino/stm32 智能小车设计(二) 本节进行Arduino智能小车的代码讲解. 一.I/O口定义与初始化函数 如下图RGB指示灯用到10.11.12三个I/O口,分别对应蓝色.红色.绿色. ...

  3. Arduino/stm32 智能小车设计(一)

    Arduino/stm32 智能小车设计(一) 智能小车原理图设计 智能小车原理图组件包括: 模块设计 一.控制模块 二.供电模块 三.充电管理模块 四.电机驱动模块 五.红外寻迹及红外避障模块 六. ...

  4. M1支持Windows arm_不讲武德?改变规则?苹果M1处理器 amp; ARM Mac简评

    <英保国语录>: 刚才有个朋友问我,英老师发生什么事了,我说怎么回事,给我发了几张截图. 我一看,嗷,原来是昨天,有两个年轻人,三十多岁,一个叫Apple,一个叫ARM. 他们说,哎~有一 ...

  5. GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)

    GC9A01-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于GC9A01 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...

  6. ST7735-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)

    ST7735-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于ST7735 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...

  7. STM32——ARM与STM32之间的联系

    ARM与STM32之间的联系 stm32是基于ARM内核的一种控制器,是包含与被包含的关系. ARM(STM32)

  8. stm32和树莓派哪个好?哪个入手难度更高?

    今天来聊一下stm32和树莓派,stm32我用了几年,树莓派我对它的理解仅限于理论层面. 自己并没有用树莓派做过产品,但是这个理论足以让大家对这两个平台有初步的了解. 很多人新手会去比较,stm32和 ...

  9. STM32下载程序至SRAM——基于正点原子精英STM32F103ZET6开发板

    STM32下载程序至SRAM--基于正点原子精英STM32F103ZET6开发板 如题,由于STM32的FLASH烧写寿命在1万次左右,对于本人这样的改一行代码都想下载到开发板中测试的强迫症患者,真是 ...

最新文章

  1. 利用循环,使得10 * 10的二维数组具有以下值,并按以下结构输出在屏幕上
  2. Golang开发环境搭建-Vim篇
  3. Spring Data ElasticSearch示例--使用NativeSearchQuery查询
  4. mysql自动增长id 溢出_MySQL表自增id溢出的故障复盘怎么解决 MySQL表自增id溢出的故障复盘解决方法...
  5. jgGrid获得的id值是主键的id而不是jqGrid的行号值
  6. 最全高考分数线出炉!!查了分后,这届学生为了过线真是太拼了.......
  7. Linu系统编程---10(Linux的终端,线路规程,网络终端,进程组)
  8. CRM、用户管理权限
  9. IoT开发精英实战营招募啦!速来报名!
  10. String 是值类型还是引用类型
  11. keil删除工程_RTT 是如何管理和构建工程的?
  12. java URI 编码解码
  13. sqluldr2 用法简述
  14. mysql基础01 创建表 修改表
  15. java 泛型去重_泛型,list集合去重
  16. 共谋发展:软件孵化器与软件开发云
  17. 麦克斯韦方程组(彩图完美解释版)
  18. 微信小程序获取access_token报错errcode: 40125,errmsg: invalid appsecret
  19. 计算机系统与维护专科毕业论文,计算机系统维护毕业设计论文
  20. Gmail企业邮箱在用OUTLOK或FOXMAIL有时出现密码错误的解决办法

热门文章

  1. MinGW MinGW-W64介绍
  2. 无法打开**,因为此版本的应用程序不支持其项目类型(.vcproj)
  3. OpenWrt固件实现路由器定时重启方法
  4. 平凡之路 | 科班小硕的2020年面试小结
  5. MAC下格式化移动硬盘
  6. ip地址转换成16进制long
  7. ubuntu卸载程序
  8. 2023年湖北武汉中级工程师怎么申请?申报渠道有哪些?启程别
  9. 《阿里云的这群疯子》
  10. 修复pd16虚拟机在big sur 的usb无法使用和无法联网问题!