新足迹

 找回密码
 注册

精华好帖回顾

· 如何种好草莓 (2012-9-11) HALAN · 2020年 悉尼人的维多利亚州环线之旅 - 维州的十五个城镇解读! (2021-1-27) 慕贤
· 我读过的一本好书 - 陈慧的《拾香记》 (2011-8-31) astina · 参加征文--从华人夫妻绣花厂到澳洲家族式企业 (2011-2-22) 南飞雁
Advertisement
Advertisement
查看: 4100|回复: 53

有懂嵌入式系统Arduino 的人吗? [复制链接]

发表于 2014-5-1 16:33 |显示全部楼层
此文章由 topliu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 topliu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 topliu 于 2014-5-1 17:13 编辑

有懂嵌入式系统Arduino 的人吗?
做软件的多,看一下有没有懂Arduino的人,有问题请教一下,谢谢
Advertisement
Advertisement

发表于 2014-5-1 23:50 |显示全部楼层
此文章由 robin7wang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 robin7wang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个能用来干啥?看了看介绍,好像一开始就是给学生学习硬件编程用的,但是学了它又有什么用呢?难道用它来做具体的产品应用?

话说那些专业的硬件制造商,都有自己的板子。真的要做出有规模的产品,也应该不会用这个系统吧,成本太高了,板子也要$30左右。

用它来做模型或是小众应用也许还行,但是会不会被Lock In?今后扩大规模会麻烦?

没搞过硬件相关的,也许评价的不到位,抛砖引玉而已。

对现在的智能硬件比较感兴趣,不知道那些做所谓的智能手表,智能手环都是用什么样的硬件系统的。
有高手或内行来解说解说吗?

发表于 2014-5-2 09:08 |显示全部楼层
此文章由 cjpking 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cjpking 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LZ, 现在Embedded产品硬件的性能已经日新月异,所以Embedded产品也已经往Linux上面靠拢了。我已经连续好几个项目都是架构在Linux平台上面的开发。这个看起来已经是大势所趋了。

一家之言,仅供参考。

发表于 2014-5-2 09:54 |显示全部楼层
此文章由 topliu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 topliu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
cjpking 发表于 2014-5-2 08:08
LZ, 现在Embedded产品硬件的性能已经日新月异,所以Embedded产品也已经往Linux上面靠拢了。我已经连续好几 ...

请问目前比较主流的Linux嵌入式主板有哪些?谢谢

发表于 2014-5-2 10:37 |显示全部楼层
此文章由 cjpking 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cjpking 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 08:54
请问目前比较主流的Linux嵌入式主板有哪些?谢谢

现在市场有很多种类类,比如系统型BeagleBone, 核心模块型Gumstix Overo.

评分

参与人数 1积分 +4 收起 理由
topliu + 4 感谢分享

查看全部评分

退役斑竹

发表于 2014-5-2 10:59 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 大饼 于 2014-5-2 10:02 编辑

Arduino做些小东西自娱自乐非常适合。主要是给不怎么会写C的人用的。
并不是一谈embedded就要上arm9以上的芯片和linux的。

btw 学校里面课程设计如果用Arduino, 拿的分数不会高的。

评分

参与人数 1积分 +4 收起 理由
topliu + 4 感谢分享

查看全部评分

专攻电子电路
Advertisement
Advertisement

发表于 2014-5-2 16:48 |显示全部楼层
此文章由 topliu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 topliu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大饼 发表于 2014-5-2 09:59
Arduino做些小东西自娱自乐非常适合。主要是给不怎么会写C的人用的。
并不是一谈embedded就要上arm9以上的 ...

好像Arduino.cc上面例子都是C/C++的哦

如果MCU是AtmelMega328P,可不可以说这个是Arduino Board?
我是一知半解的,这个Arduino board到底运行什么embedded OS?一般不都是有个Linux, FreeBSD, ubuntu OS,VxWorks
编写的程序可以跑在上面,而且这些embedded OS都自带了各种驱动。

不知道这个Ardunio如果装个WIZnetW5100 Ethernet I/O 需要安装个驱动???

反正糊涂了

发表于 2014-5-2 17:07 |显示全部楼层
此文章由 Pwn 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Pwn 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 15:48
好像Arduino.cc上面例子都是C/C++的哦

如果MCU是AtmelMega328P,可不可以说这个是Arduino Board?

好像可以用processing写程序。类似c.

退役斑竹

发表于 2014-5-2 17:08 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 15:48
好像Arduino.cc上面例子都是C/C++的哦

如果MCU是AtmelMega328P,可不可以说这个是Arduino Board?

arduino uno就是个AtmelMega328P。 你大概可以用自己做的板子。但是你要用上Arduino的软件,必须先把Arduino的bootloader给program进去(板子必须有usb口)。
你这板子+ programmer买下来成本已经超过Arduino uno了。当然你可以在taobao上买便宜的山寨版子。呵呵。

Arduino uno好像是没有操作系统的。不能跑多任务。

Arduino uno的语言差不多是个类C。你可以说他是C。他把所有基本peripherals 的code用全部都打包了。你就不用去找sample code或者看几百页的datashit了。上手非常快。


专攻电子电路

发表于 2014-5-2 17:27 |显示全部楼层
此文章由 malazhumao 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 malazhumao 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 15:48
好像Arduino.cc上面例子都是C/C++的哦

如果MCU是AtmelMega328P,可不可以说这个是Arduino Board?

你实际上可能更适合玩Raspberry Pi

发表于 2014-5-2 19:21 |显示全部楼层
此文章由 topliu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 topliu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大饼 发表于 2014-5-2 16:08
arduino uno就是个AtmelMega328P。 你大概可以用自己做的板子。但是你要用上Arduino的软件,必须先把Ardu ...

Program IDE 难道不免费?看网站上没说要钱啊。 大牛在悉尼不?
Advertisement
Advertisement

发表于 2014-5-2 19:23 |显示全部楼层
此文章由 topliu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 topliu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
malazhumao 发表于 2014-5-2 16:27
你实际上可能更适合玩Raspberry Pi

树莓派好上手么?有啥区别?

退役斑竹

发表于 2014-5-2 20:41 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 18:21
Program IDE 难道不免费?看网站上没说要钱啊。 大牛在悉尼不?

我说的是,编程器programmer not program IDE.
专攻电子电路

发表于 2014-5-2 22:45 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
cjpking 发表于 2014-5-2 08:08
LZ, 现在Embedded产品硬件的性能已经日新月异,所以Embedded产品也已经往Linux上面靠拢了。我已经连续好几 ...

请教这位兄弟,有没有好的Embedded Linux入手的资料或者书籍,我准备入手一个Beaglebone,请问你最初是通过什么平台来入门学习的?多谢指教。

发表于 2014-5-2 22:53 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 15:48
好像Arduino.cc上面例子都是C/C++的哦

如果MCU是AtmelMega328P,可不可以说这个是Arduino Board?

我查了一下,这个芯片就是有个8bit的MCU,居然可以跑OS?感觉很夸张的样子。

发表于 2014-5-2 22:57 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
topliu 发表于 2014-5-2 18:23
树莓派好上手么?有啥区别?

我也懂得不多。我觉得看你打算提高什么能力了,如果是玩玩单片机,那也许你的Arduino就可以,然后8bit和16bit的单片机我个人觉得就差不多了,无非是功能、寄存器等等各有各的特性。但如果你想跑RTOS,或者简单的图形界面GUI,那么ARM 的cortex M系列的都可以,这类development board比较多。如果要跑embedded Linux,可能目前比较流行的是cortex-A8,A9之类的,那么前面提到蓝莓派,beaglebone都可以,youtube上有很多视频tutorial,或者panda board,或者freescale的iMX系列(不过比较贵),找一些社区完善,资料齐全,支持度好的,这样有问题也有个可以讨教的地方。

评分

参与人数 3积分 +15 收起 理由
robin7wang + 3 感谢分享
iami + 8 感谢分享
topliu + 4 感谢分享

查看全部评分

Advertisement
Advertisement

退役斑竹

发表于 2014-5-2 23:34 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LightYear 发表于 2014-5-2 21:53
我查了一下,这个芯片就是有个8bit的MCU,居然可以跑OS?感觉很夸张的样子。
...

8bit mcu跑简单的real time os不夸张,很平常的事情。
像 ucosII还有atmel的avrstudio 自带的os都可以跑。
Arduino其实都是给不搞嵌入式系统的电子爱好者玩的。

还有arm cortex M系列基本上跑不了什么GUI的. 就只有100-200K ram和 flash啊

专攻电子电路

发表于 2014-5-2 23:43 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大饼 发表于 2014-5-2 22:34
8bit mcu跑简单的real time os不夸张,很平常的事情。
像 ucosII还有atmel的avrstudio 自带的os都可以跑 ...

感谢指教。
简单的RTOS我不知道都包括什么,能将任务执行控制精准到什么量级。我之前看到一些ARM上跑的RTOS有各种机制可以确保任务的实时性,不知道您说的简单的OS可以做到什么,不过我一会儿会去查一下。
那么Arduino是针对什么人群的呢?
ARM cortex-M可能自身的ROM\RAM一般,但是可以扩展,实现一些功能简单的GUI还是没问题的,我见过网上的一些小游戏,或者一些简单的小系统都没什么问题。

退役斑竹

发表于 2014-5-2 23:55 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LightYear 发表于 2014-5-2 22:43
感谢指教。
简单的RTOS我不知道都包括什么,能将任务执行控制精准到什么量级。我之前看到一些ARM上跑的RT ...

我前面讲错了。
cortex M跑个字符型lcd甚至小点阵lcd,再加几个按钮或者encoder 做输入是没问题的。也算是个简单的gui了。

专攻电子电路

发表于 2014-5-2 23:57 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大饼 发表于 2014-5-2 22:55
我前面讲错了。
cortex M跑个字符型lcd甚至小点阵lcd,再加几个按钮或者encoder 做输入是没问题的。也算 ...

是的,我指的就是类似这种,网上也有不少视频,效果还不错。不过视频动画什么的貌似比较慢~~向您请教一下,如果学习Embedded Linux上进行硬件控制编程,什么资料或者书籍入手比较好?我没有Linux基础。Beaglebone?

发表于 2014-5-3 00:05 |显示全部楼层
此文章由 小半个月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 小半个月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
cjpking 发表于 2014-5-2 08:08
LZ, 现在Embedded产品硬件的性能已经日新月异,所以Embedded产品也已经往Linux上面靠拢了。我已经连续好几 ...

来之前在国内一直用的是Linux系统。这边的公司用自己写的系统,我的Linux功底快要废掉了。 哎。。。
Advertisement
Advertisement

发表于 2014-5-3 00:38 |显示全部楼层
此文章由 topliu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 topliu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
小半个月亮 发表于 2014-5-2 23:05
来之前在国内一直用的是Linux系统。这边的公司用自己写的系统,我的Linux功底快要废掉了。 哎。。。 ...

不会费掉的,我大学学物理的,到现在理解一些硬件东西还是有帮助的。
我以前在朗讯做过很多嵌入式开发,有Lucent 自己的系统也有vxworks.
来澳洲后就转web了,好几年了

发表于 2014-5-3 12:08 |显示全部楼层
此文章由 cjpking 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cjpking 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LightYear 发表于 2014-5-2 21:45
请教这位兄弟,有没有好的Embedded Linux入手的资料或者书籍,我准备入手一个Beaglebone,请问你最初是通 ...

Linux系统的最大好处就是让Embedded开发人员最大可能回避底层开发。所以应用层你可以直接用Shell编程,也可以用CGI开发简单网页,连C语言都不需要接触。

而且有个转码器开发我直接用Python编写。 但是底层的驱动我还是老老实实用C来编程,Debian Linux上面可以安装C complier。

发表于 2014-5-3 20:57 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
cjpking 发表于 2014-5-3 11:08
Linux系统的最大好处就是让Embedded开发人员最大可能回避底层开发。所以应用层你可以直接用Shell编程,也 ...

谢谢指点。其实挺着还是有些晕。另外,python您是学校里学的还是工作后因为需要自学的?python可以对硬件进行控制么?

发表于 2014-5-4 12:31 |显示全部楼层
此文章由 cjpking 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 cjpking 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 cjpking 于 2014-5-4 11:47 编辑

Python当然可以控制硬件,就比如我写的那个转码器就是接收一个远程控制器,比如PC的命令之后,再对其解释,重新编码之后发出操作指令来控制多通道的摄像机。但是Python不适合实时数据采集和底层驱动开发。

我也是现学现用的,Python有点类似C,但是没有C那严谨的语法结构,不过好在简单,跨平台。
头像被屏蔽

禁止发言

发表于 2014-5-4 14:07 |显示全部楼层
此文章由 iami 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 iami 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大饼 发表于 2014-5-2 10:59
Arduino做些小东西自娱自乐非常适合。主要是给不怎么会写C的人用的。
并不是一谈embedded就要上arm9以上的 ...

embeded 小东西就是microcontroller的编程吗?
我以前学校里学的是java, 实际中用的是windows没用过linux
我对microcontroller有兴趣。有什么相关知识要学吗,c是必须的吗?有什么好书可以推荐一下?
多谢了
签名被屏蔽
Advertisement
Advertisement

退役斑竹

发表于 2014-5-4 14:38 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
LightYear 发表于 2014-5-2 22:57
是的,我指的就是类似这种,网上也有不少视频,效果还不错。不过视频动画什么的貌似比较慢~~向您请教一下 ...

你如果要控制一个简单的硬件, 比如led, relay,温度传感器, 加速度传感器, 角加速度传感器,甚至zigbee 模块等等。
真心没必要上linux。随便找一块 atmel atmega或者arm cortex M,可以节省2倍的成本和5到10倍的时间!
一上linux,就得写驱动。如果你能google到驱动,那还好。如果没有现成的,你打算花2-3个月入门linux再花2-3个月时间学习怎么写linux驱动?
其实很多情况下跑linux,android甚至wince的arm芯片都是作为主控芯片使用的,只控制逻辑,视频,等东西。其他的诸多传感器都是由简单的microcontroller来控制的,然后通过 uart/ rs485 传给 主控芯片。

学好C语言是关键,然后了解一下microcontroller 的架构, 还需要学习一下通用的peripherals的原理,比如 gpio,timer, uart,spi,watchdog,i2c,adc, dac, encoder,dma,等等等等(当然可以用到哪个学哪个,不用一起上马)

评分

参与人数 1积分 +4 收起 理由
topliu + 4 感谢分享

查看全部评分

专攻电子电路

退役斑竹

发表于 2014-5-4 14:43 |显示全部楼层
此文章由 大饼 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 大饼 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 大饼 于 2014-5-4 13:47 编辑
iami 发表于 2014-5-4 13:07
embeded 小东西就是microcontroller的编程吗?
我以前学校里学的是java, 实际中用的是windows没用过linux ...


必须学C,除非你打算花高价买basic stamp。
arduino 也是类C。
硬件推荐你用
1  Arm cortex M系列的学习板, farnell上15刀一块(on board debugger),不用另外买debugger/programmer。免费的keil arm mdk支持upto 32K code size
2  atmel atmega系列,开发板,programmer便宜,到处能买到。或者用arduino。

C语言书,中文就谭浩强吧。 英文这本据说还不错 http://en.wikipedia.org/wiki/Fil ... _Language_cover.svg
专攻电子电路

发表于 2014-5-4 15:08 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
大饼 发表于 2014-5-4 13:38
你如果要控制一个简单的硬件, 比如led, relay,温度传感器, 加速度传感器, 角加速度传感器,甚至zigb ...

OK,明白了。其实单片机用的比较多了,所以想网上一个台阶走,不然总是感觉很低端。我也明白你说的如果没有特别的需要没必要上Linux,其实只是我个人喜好,一般控制类的普通单片机或者microprocessor足够了,如果有对实时性要求极高的,可以跑个RTOS。Linux embedded这一会快的学习和入门,有什么好的资料或者书籍可以入手推荐的么?谢谢

发表于 2014-5-4 15:16 |显示全部楼层
此文章由 LightYear 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LightYear 所有!转贴必须注明作者、出处和本声明,并保持内容完整
iami 发表于 2014-5-4 13:07
embeded 小东西就是microcontroller的编程吗?
我以前学校里学的是java, 实际中用的是windows没用过linux ...

你如果工作中经常用到java的话,那肯定没必要重新学习C了,无非就是对嵌入式C了解一下,这东西听着挺唬人,但我觉得搞IT的都可以做(不考虑外部硬件环境的话,其实外围硬件也没什么),无非就是举个例子,输入输出口A--PortA一共有16个管脚,A0,A1..A15,你打算让A2输出高电平,那么就在A口输出寄存器上设置bit2为高,PortA_DR=0x04; 当然之前要初始化硬件,就是把一些设置寄存器设置成你想要的状态。
我觉得如果上来就用cortex M有点高,如果你对嵌入式完全没有概念或者经验,选个楼主说的板子,更便宜的国内教学常用的51单片机,足够了解诸如i2c, spi,timer,uart,中断等等概念了,里面的例子也很多。等熟悉了再上cortex。不过要是你有基础,或者悟性好,cortex M也可以,在我看来cortex M就是有一个非常Powerful microcontroller(个人看法,可能我还没有真正领会到cortex M的巨大好处吧。)。

评分

参与人数 1积分 +4 收起 理由
topliu + 4 感谢分享

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部