{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

初学者学单片机好还是树莓派好?

MkkHouMkkHou 回答0 收藏1
收藏问题

9条回答

Moxmi

Moxmi

回答于2022-06-28 11:41

这个首先要明确一下这里指的学哪个“好”指的是什么?第一,如果是要快速实现产出,比如说要参加电子设计大赛之类的比赛,这种情况下,还是用树莓派比较好,因为现在不说51单片机,就算用stm32,只要是用mcu的作品,在评委的眼里都是跟低档的作品,一般直接就给毙掉了。当然这里排除一些超级有创意有特点有实用性的玩意,但现在电子、计算机等专业的学生这么多,专业的、业余的参赛者自从电赛开赛以来得数以千万计了吧,你能想到的、能做到的都有人尝试过了。不是打击初学者和参赛选手,90%以上的情况下,你的作品不会是这种能引起评委注意的好玩意。想要拿点上档次的奖项,你用的控制器也得上档次一点,这也是当前电赛的“潜规则”。就算用51同样能实现的项目,评委们还是喜欢用这种开源硬件的板子做出来的产品,好歹里面也是跑Linux的,说出来多么高大上对不对!这就是现在的浮躁、虚荣的技术圈。第二,如果题主是想要问从那种器件入门电子世界,那我推荐一定要从51开始,一年之内千万离树莓派、BBB之类的开源硬件远一点。首先,不学51这种“低级”(或许这里应该用适合入门)的mcu,就好比你练功不学扎马步,技术的底子不扎实,以后干什么项目也都不会踏实(如果你是一个负责任的人的话)。其次,树莓派这种开源硬件,资料多,国外开源的代码、项目多这都是事实,但是,这里题主指的一定不是纯应用开发,而是驱动级开发吧,基于这个前提,首先需要考虑下要玩的动树莓派,需要掌握什么?Linux操作、C高级、arm汇编等,单纯就这三样来讲,如果是学生学习时间比较充裕的话,没有个一年,能真真正正拿的下来?所以,如果是要选择一种入门电子的器件,一定要打好基础。现在技术圈很浮躁,大家都向快钱看,很少有人能够静下心来踏踏实实的把技术细节搞透彻,非常希望大家能系统、细致的学习基础课程,过程可能枯燥,但这个阶段学好了,内功深厚,以后搞起来也会顺风顺水,不至于遇到点问题就不知如何解决。我是嵌入式精英训练营,带你走进嵌入式开发的精彩世界~

评论0 赞同0
  •  加载中...
tracymac7

tracymac7

回答于2022-06-28 11:41

很久没有焊接硬件了,其实也没多久也就离开实验室一个来月。哈哈,这样一说大家可能也猜到了,我就是一 悲催的硬件狗


1、单片机和树莓派的不同(直观上)

1

“树莓派们”的兴起,确实是一个好事情,很大的扩展了很多创客的实践方式。实际上树莓派的本质也是一款微处理器,然后带上了Linux操作系统,只是这是已经定制后的操作系统。

实际上,单片机里面的大佬STM32的新的型号,也已经支持虚拟内存的使用,可以正儿八经的跑Linux的操作系统,如STM32MP1。

但是,他们实际上是不一样的,区别就在应用上。单片机的作用更加接近物理量的处理和应用,举个简单的例子:我想自己做一款智能遥控器或者说一个无线游戏手柄,那我肯定就用一个STM32的单片机去做了。

如果说,你要用树莓派去做一样也是可以实现的,但是就电池上的功耗来说,一节锂电池树莓派怕是喂不饱 。

当然,这里只讲了功耗一个方面,只当是抛砖引玉。

2

在程序的更新上,一般的单片机会使用CH340和单片机本身的一个bootloader来升级程序,如果想要使用MDK软件一键升级,在配一个JTAG就行。当然,JTAG-OB也是一个选择(经济实惠)。

因为树莓派作为一个卡片电脑的性质,就不再讨论它的主控IC是谁。毕竟不同的版本,IC不同,而且我们也很少去焊接、更换它的IC。

这一类的IC组成的树莓派,更新程序的方式就比较多了,使用U盘拷贝,使用串口传送、使用网络服务器的方式。在这里在刚入门的时候,可能一个更新程序的方式就能写一个章节。

综合来说,单片机毕竟比较简单。有个时候,简单也是一门艺术,选择的艺术。

3

学习的资料上两者有一定的差异,单片机一般会有一定的资料直接讲解这个ADC、DAC、GPIO、TIME啥的。而且是分开了敲碎了的讲解,直接是一个外设一个程序。

而树莓派这是开源硬件,主要给大伙实现各种改变世界、改变生活的想法的。所以,一上来直接给一个操作系统,然后有兴趣、有能力的同学去论坛学习大神吧。

是的呀,我这硬件的原理图有的,软件的源码有的,大家都能万开源硬件了,一定是肯学习的人,那就去吧。祝你好运!

实际上,很多人都成了开源硬件的投资人,不是,应该是韭菜。毕竟,好的想法能不能有是一回事,即便有了想法,发现这做出来的东西也仅仅是个学习的价值,实用,可能还得等等。至于量产,似乎只能是个愿望。

还是那句话,单片机简单,而且资料定位也是给新手的,咱们服个软,不是认输


2、初学者建议学习单片机(树莓派照样可以玩)

我给出这样的一个建议不是胡说的,单纯从价格上来说,两者其实差不多。300-500买个树莓派或者STM32F1的开发板都可以了。

一般而言,在项目的开发上,会指明要求会STM32的公司不自在少数。树莓派可能少一些,原因待讨论。

树莓派的系统一般直接按照教程往里面烧录就OK了,也不会有多大的问题,因为哪些所谓的驱动、uboot之类的东西都略过了。

不过简单并不代表简陋。毕竟树莓派被成为卡片电脑,在多媒体等方面的处理能力和普通的单片机不在档次的,可玩性强。比如什么人脸识别、搭建服务器等等都很容易找到教程。


结论:

单片机毕竟没有树莓派复杂,容易上手。咱就先难后易,乘风破浪指日可待。

评论0 赞同0
  •  加载中...
GeekQiaQia

GeekQiaQia

回答于2022-06-28 11:41

个人建议是,考虑专业,未来要从事的工作方面,选择单片机, 如果你只是单纯的想diy,可能树莓派更容易入手,因为你不需要熟悉寄存器之类的底层

评论0 赞同0
  •  加载中...
you_De

you_De

回答于2022-06-28 11:41

如果是兴趣爱好学树莓派就可以,没事玩一玩,如果是为了工作,那还是要从单片机开始学,因为单片机可以做各种项目,小项目,大项目,简单的,复杂的,单片机的种类繁多,可以胜任大多数项目。学习单片机也不是学习一种,而是学会一种,在学习其它的,没种单片机的性能是不一样的。

根据我的经验还是先学习单片机,51单片机资料多,上手容易,还可以学习硬件电路,通过写程序控制硬件,更加直观看到现象,只要学会51单片机,在学其他的单片机就非常容易了。

树莓派是要跑系统,不接触底层,不需要懂硬件,就可以编写程序,但是大多数项目不适合,而且成本高,也不能做低功耗的产品,一开始就接触复杂的东西不好接受,等学会单片机之后,在学习嵌入式,树莓派等就容易多了。

评论0 赞同0
  •  加载中...
Zoom

Zoom

回答于2022-06-28 11:41

如果想系统学习嵌入式系统开发那么从学单片机开始,如果你是DIY,那就树莓派吧。单片机可以让你比较系统掌握软件和硬件的关系,对其有深入认识。单片机熟悉后,后续arm,dsp等会得心应手。

评论0 赞同0
  •  加载中...
CompileYouth

CompileYouth

回答于2022-06-28 11:41

从Arduino开始吧,软硬件都得学,门槛低,其实学的东西更基础。。。。树莓派玩到最后还是Linux编程,对硬件没学太多。。。

评论0 赞同0
  •  加载中...
oysun

oysun

回答于2022-06-28 11:41

如果要从事嵌入式开发,建议从单片机开始,单片机是C语言最好的入门途径。树莓派是个玩具,用python方便些。

评论0 赞同0
  •  加载中...
JaysonWang

JaysonWang

回答于2022-06-28 11:41

学单片机浪费时间。了解51以后直接去学linux和arm,网络那些。当然作为学生基础学科还是要学好,高数、模数电、c语言等。

评论0 赞同0
  •  加载中...
Hujiawei

Hujiawei

回答于2022-06-28 11:41

学树莓派,然后重软件开发,通过标准数据接口,集成各种设备,再然后可以玩玩软件架构,大数据,人工智能。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<