关于 arduino 和树莓派,有哪些区别呢?

2018-08-04 21:02:58 +08:00
 azev
主要是软件方面的,我的理解是这样的,不知道有没有问题?
就是在程序上 arduino 的可控性相比树莓派是不是要弱些?
比如树莓派可以很方便的使用程序控制一些任务.
而 arduino 中的程序是不是就不太好控制了?
一旦写入之后,是不是只能通过断电通电的方式进行控制执行?
2818 次点击
所在节点    问与答
13 条回复
mhycy
2018-08-04 21:07:28 +08:00
arduino 是单片机
树莓派是个 PC

arduino 能做到与 CPU 时序一致的同步 IO
树莓派 IO 输出时序不可控需要缓冲结构(因为是**分时操作系统**)
frozenthrone
2018-08-04 21:07:43 +08:00
复杂程度不同,arduino 是个 mcu,只有一些简单的 gpio,adc,i2c 等,树莓派是 arm 了
azev
2018-08-04 21:13:35 +08:00
@mhycy
@frozenthrone
arduino 中的程序是不是就是一个单一的程序
程序里开启循环接收外部的物理条件触发来执行一些任务?
能接受程序(非自身)触发吗?
azev
2018-08-04 21:15:36 +08:00
@mhycy
@frozenthrone

比如树莓派通过数据线连接 arduino,
在不重写 arduino 程序的情况下
能直接通过程序代码控制 arduino 执行特定任务吗?
azev
2018-08-04 21:23:54 +08:00
arduino 程序中能在一定时间后把自己 stop 吗?
如果 stop 了是不是就只能断电再通电了
mhycy
2018-08-04 21:50:36 +08:00
@azev
请搜索 “ arduino 外部中断”
but0n
2018-08-04 21:52:26 +08:00
@azev #4 可以通过外部中断来实现
designer
2018-08-04 21:55:41 +08:00
肯定是树莓派多功能强大啦
Telegram 树莓派吃会交流群:树莓宝宝们的小天地 ⬇️
https://t.me/shumeipai
nciyuan
2018-08-04 23:15:09 +08:00
你可以想象树莓派是一个不带语音外设触摸屏的锤子 tnt(:-D 笑)的和 TNT 一样的 ARM 架构的 TNT。(逃)
树莓派正名是微型电脑。实际上树莓派的御用系统 Raspbian 是一个具有全功能的 Linux,而且可以外接官方的 HAT 扩展板,以及第三方的比如瑞士军刀。这个东西具有电脑的全部特征,但是不同于家用台式机,内存 CPU 存储器全都是集成在上面,所以你也可以理解为一个超级微型且集成 CPU 和内存和硬盘的主板。树莓派一插上电就可以独立运行。像普通电脑主板一样,可以接显示器,键盘鼠标,喇叭,以及 RJ45 接入以太网。和常见家用 PC 不一样,部分组件不可拆卸,无法运行 Windows 但可以用 Linux,可以有 Chromium(Chrome 的开源版)浏览器,LiberOffice 可以打开 doc/ppt/xls 等,自带压缩软件,邮箱软件,还有什 Python Java 完全不是事。不过他还有很牛逼的地方,可以运行 Wolfram,Mathemarica😂😂😂
而 Arduino 应该正名为微控制器,不过与单片机比起来,这个是炒鸡牛逼版单片机,封装很多 sensor,还有污染灯😝😝😝,和树莓派最大的区别是你得用 Arduino IDE 把程序写进去,才可以下一步操作?树莓派写入系统之后就可以随便玩了,但树莓派相当于给新电脑第一次安装系统,Arduino 相当于单片机,想改动的话请再写一次,树莓派最爽不过 sudo apt-get install。
不过还有一个你可能会觉得震惊的特点,树莓派要求 SD 卡最低 4GB 运行起步,和现在的设备很像,但是单片机的空间以字节记,你可能会觉得这个空间连微软的 DOS 都不运行不起来呢
xmoiduts
2018-08-04 23:30:11 +08:00
@azev 对于 arduino 而言,程序都是烧录在 flash 里的,如果想执行的功能已经烧录,用外部程序(你说的树莓派等)选择执行哪个程序很容易。树莓派和 arduino 都提供了串口(本需求常用做法),spi,i2c(等?)接口,一般写一个字节就行了,网上的例程有很多。

一般来说 arduino 程序都是一个 setup()执行一次然后 loop()跑着一个实质上是 for(;;) 的死循环,想要 stop 我猜是为了省电。但除非使用 pro mini 这种型号,其他版型一般带有串口 usb 芯片(atmega16u2 或者 ch340g 等,具体实现不一),那个就没法关,很费电。

arduino 本身可以用.ino 里的代码实现 cpu 空载(省不了多少电)/关掉 cpu 但不关很多外围电路(定时器中断就能把 cpu 唤醒)/全关(外部中断才能唤醒)等不同的**省电模式**,以前做过一个用电池的作品详见 id 的主题历史。

总的来说,rpi 和 arduino 完全不在一个层面上。
Arnie97
2018-08-04 23:41:57 +08:00
你可能需要找本《操作系统》,思考一下单核处理器并发运行多任务是怎么实现的。Arduino 没有 Linux 操作系统提供的各种基础设施,但是并不代表不能实现多任务
jadec0der
2018-08-05 01:42:30 +08:00
唉,你操作系统基础太差了,先看看书吧
azev
2018-08-05 15:43:46 +08:00
多谢各位回复
嗯 我关于操作系统的知识确实很差
因为我不是计算机专业的 没学过操作系统
所以只是问问一些应用层面的东西 不想太偏底层了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/476912

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX