用过51/STM32/Arduino UNO/ATTINY85(DigiSpark)/ESP8266/OrangePI(类树莓派)写过HelloWorld(即点亮一颗LED),简要对照下特点,供大家选择
顺带一提。顺带一提。今年自己还录制了一套还比较系统的入门单片机教程,想要私信我就可以或者搜全网同名:华维单片机编程。还准备线上指导学生去参加电子设计比赛。
51:优点:构造简略,工业化使用时长长,资料齐全缺少点:没有板载adc,pwm须要使用定时器模拟,根本上干点啥都须要扩展外围电路;计算才能有点捉急补充:比较新的51已经有了pwm和adc口最小系统价格:stc89c52STM32:优点:片上资源丰盛,该有的都有了;处理器性能强大;工业使用也有一段时长了,资料也很丰盛齐全缺少点:实在找不到啥缺少点,非要说的话,开发环境配置比其他的复杂算不?最小系统价格:stm32f103c8t6Arduino UNO:优点:开发环境配置简略,片上带adc,arduino有各种库存在,有开发效率加成;缺少点:IO口数量有点少;片上资源,性能上与STM32差了不止一个数量级最小系统价格:国产ch340+贴片328p版本

ATTINY85(DigiSpark):优点:使用arduino开发,USB支持(模拟键盘,加密狗等玩法),IO口支持adc/pwm/i2c/spi等都支持,用来玩足够了;价格便宜缺少点:ram太小,io口就6个最小系统价格:
ESP8266:优点:原生WIFI支持,刷nodemcu固件后能够用lua开发,或者直接使用arduino开发,IO口支持adc/pwm/常见的总线等,尤其合适IoT缺少点:资料丰盛程度不及51或stm32最小系统价格:esp12f+ch340
树莓派/OrangePI等:优点:资料相对丰盛,ram足够(高达数百到上千兆,跟单片机几百字节到几兆字节相比,高了几个数量级),能够买到支持rj45或者wifi的版本用来做IoT(实际上,xxxPI更合适作为IoT设备的中心节点而不是直接控制硬件)缺少点:非实时系统,价格相对较贵
局部参数比照:备注:esp8266 ram为64K instruction RAM,96K data RAM关于资源说法比较粗略且不严谨,详细差别能够参照各芯片的选型手册关于示波器/屏幕的问题:取决于需求而不是控制器。关于开发板:我个人都是直接上手最小系统板,从开发板上手容易导致只会用开发板,容易知其然不知其所以然,拿到最小系统容易蒙圈;自己搭外围电路是一种乐趣,自己搭建外围电路,换其它品种的单片机很方便单片机和树莓派是截然不同的两个东西。不是进阶关系。做出炫不炫的东西是个人爱好,不是拿来说明差异的工具。1、单片机主要用在控制领域。这一点Arduino也罢,51也罢,绕过Arduino直接上AVR也罢,一步到位STM32也罢,差别在系统复杂度不同,功能强弱不同,资源多少不同,但共有的特点是一般都不上OS直接裸奔,要上也是RTOS,即它们共有强调一个特点,就是实时性。即便如今已经能跑到220M的CortexM7,ST的高端型号甚至都上了A系列都没有的双精度FPU,依然没有MMU这个东西,说明压根就不是给完整的操作系统准备的。相比之下,只能跑80M的ARM7TDMI却能运行完整的linux(当年红遍全世界的GBA就是这个内核,不过主频低得多)。进修单片机,主要是要进修数字电路知识和一局部简略模电,核心是计算机体系构造。这就是为什么大学的微机原理喜爱用8051或者8086这种老掉牙的东西来讲,由于简略,但该有的都有。能够说单片机是硬件工程师入手的必经之路。2、树莓派是个软件开发平台。树莓派的核心是跑架构、跑库、跑算法,GPIO是附带物。没有人裸奔树莓派,由于这样根本发挥不出它的功力。大家是用linux强大的网络功能和开源本质,以及C++带来的强大封装和模版化,来忽视底层、忽视硬件,让创客专注于算法和模块的设计。所以树莓派开发恰恰是为了最大程度绕开和硬件的接触。你看到的树莓派和硬件的联合,是最小化硬件操作之后的产物。所以别人的代码down下来编译一下就能跑了。单片机代码你要是忽视对方的电路设计,跑一个我看看?所以单片机还是树莓派这个选择要看你的倾向,硬件还是软件。实际上假如你要选择这个方向从业,两个迟早都要玩的,别选了。顺带一提。今年自己还录制了一套还比较系统的入门单片机教程,想要私信我就可以或者全网同名:华维单片机编程。还准备线上指导学生去参加电子设计比赛。