在开始前我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」,
点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!单片机和树莓派是截然不同的两个东西。不要盲信高票答案,他俩,不是进阶关系。
做出炫不炫的东西是个人爱好,不是拿来说明差异的工具。
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下来编译一下就能跑了。单片机代码你要是无视对方的电路设计,跑一个我看看?所以单片机还是树莓派这个选择要看你的倾向,硬件还是软件。
888