如何开始学习微控制器编程?

5

我已经使用高级语言编程了几年,但最近我想在硬件方面有所突破,我希望我能为我的儿子DIY一些有趣的玩具。

起初,我认为嵌入式系统是我需要的,但我发现它仍然太高级了,然后我发现微控制器更简单,但我不知道该如何入门,以及应该选择哪种芯片,我希望我可以选择一个串行芯片,它可以满足大多数需求并且价格便宜(这不是一个清晰的描述,我知道)。

还有其他需要我了解的吗?

顺便说一句:我希望它绝对是低级别的


“单片机”是指“微控制器”吗?这仍然是嵌入式系统,我看不出区别。您仍需要将微控制器安装在带有IO连接器的板上。为您选择的任何设备获取一个合适的开发套件。 - Clifford
你可以先访问http://electronics.stackexchange.com并在那里提出你的问题;我们都是关于“硬件冒险”的! - Kevin Vermeer
@Clifford 我不知道正确的名称。我的意思是带有非常小的RAM和闪存的芯片。 - guilin 桂林
@Clifford 谢谢,我查了维基百科,我确定我想要的就是 "微控制器"。 - guilin 桂林
可能是如何开始编程微控制器?的重复问题。 - AShelly
4个回答

4

老实说,我认为你需要的是 ArduinoSparkfun 零件/套件。首先从那里开始,随着你的进步,你最终可以转向获取自己的芯片编程器,而不是使用引导加载程序(像Arduino一样)。也许转向 microchip pic 或原始的atmel芯片……甚至是propeller。作为一个起点,没有比arduino更容易的了。祝你好运,玩得开心。


我认为Arduino稍微有点高级。 - guilin 桂林

3
我建议选择来自SparkFun的Arduino。目前我会推荐LillyPad(Arduino的变体)或Arduino Mini Pro,它们都大约20美元左右,但是LillyPad已经有了用于串行/电源到USB设备上的引脚,你也需要购买这个。

我不是AVR指令集的粉丝,所以我想提醒您可以选择Armmite Pro,这是基于Arduino印记但是基于ARM的产品。Mbed相对较受欢迎,非常易于使用,且您不需要其他任何东西(其他两种产品需要一个串口到USB适配器用于编程和供电)。

现在TI几乎是在以$4.30或$5的价格向SparkFun提供MSP430 Launchpad板,只需在订购时加入一些即可。 MSP430是一个好的指令集,与其他任何语言一样容易或困难。(熟悉后他们都是很容易的)

Ti网站上有一些Stellaris板,里面装载着OLED显示和诸如此类的小工具,但811板很容易出问题,所以我建议选择其他的一些板子,比如1976或任何数字都不错,这些板子的价格和性能都很适合初学者。

以上所有都有沙盒玩法,您不需要或受限于工具链、编程器、主机操作系统等。

我不是PIC产品的粉丝,曾经像你一样使用过PIC,但后来放弃了。SparkFun有一些适用于PIC的板子。我没有尝试过Propeller,我更喜欢直接编程的芯片,而不是基于解释型BASIC语言之类的芯片(我在拿到Arduino和Armmite Pro时都会重新编程以清除解释器并占领控制权)。

我认为如果符合您的描述,Arduino可能是适合您入门的地方,现在有许多变体,部分原因是Atmel在文档和支持方面做得非常出色,也因此有许多AVR狂热爱好者,导致有大量基于Arduino的DIY项目。使用Arduino,您将比使用其他平台(甚至我提到的那些平台)更快上手。


明天是SparkFun的休息日,去年尽管升级了服务器,但仍然崩溃了。所以如果你进不去,不要认为SparkFun是一个糟糕的地方,我认为它是美国这类产品的最佳场所,如果你周四进不去,就等到周五。啊,抱歉刚看到你来自中国,SparkFun可能不是你最好的资源,可能有其他更接近家的选择。Olimex制造了许多好的板子,并且没有推销任何芯片,只提供业余爱好者使用的板子。 - old_timer
今天看了一下SparkFun,我选择Lilypad+FTDI USB的原因是Lilypad和Arduino Pro Mini的成本更低。但是如果你购买不需要FTDI的Arduino Uno,总体上会更便宜。我关心美元的原因是让你有可能用同样的钱购买两件物品,或者如果你短路或熔断了某些东西,你会少花钱。我通常会买两个相同的东西,期望其中一个会坏掉,或者我喜欢它太多了,把一个变成项目,留下另一个继续玩耍。 - old_timer

0
我建议您购买一个AVR设备或低端ARM Cortex-M3的开发套件(取决于您的预算和性能要求)。

0

我同意 Clifford 的观点。

另外,你也可以看一下 TI 的 MSP430。它们非常简单易用,TI 还提供了大量具有良好说明的样例项目。

JMB


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接