我是一名熟练的Visual Basic程序员。我想了解人们如何编程硬件。例如,我见过人们制造LED手表,盒子等。你是如何实现这一目标的?可以使用VB或Java完成吗?我在阅读C,C ++代码方面有一些经验。我只知道C和C ++语言中的IO。
答案 0 :(得分:19)
可能您正在寻找可编程微控制器。如果您有C / C ++ / Java方面的经验,请结帐Arduino。其芯片使用C like language编程。这个“How tos”页面可能会帮助您入门。还有一些好书可以帮助你前进:
Wiring是一个类似于Arduino的平台。
另请参阅Forth编程语言。有很多有趣的“tiny computers”你可以使用这种相当不寻常的语言进行编程。以下是部分列表:
两本着名的Forth书:
答案 1 :(得分:6)
人们如何编程硬件
如果“硬件”是指独立设备(嵌入式系统),则该过程涉及交叉编译。设备代码在主机 PC上以某种(高级)语言编写,编译并转换为适合下载到目标设备的形式。
交叉编译器为运行它的平台生成可执行代码 - 例如,AVR交叉编译器将为AVR微控制器生成代码,但编译器在PC上运行。通常,使用汇编和C,在某种程度上使用C ++,Java和Ada。
如果“硬件”是指某些设备通过某个端口(串行,并行,USB)连接到PC,则编程涉及通过该端口进行交互,可能还需要设备驱动程序。
可以使用VB或Java完成吗?
我不确定VB(可能还有WinCE及其类似的VB编译器)。 Java用于更复杂/更大的嵌入式系统(例如移动电话),主要用于为设备开发用户应用程序。
制作LED手表,盒子等。你是如何实现这一目标的呢?
如果您有兴趣开发类似LED手表的东西,您需要学习如何编程微控制器。至少,您需要两个组件:微控制器和一些将程序加载到其上的硬件(程序员)。您可以投资开发板,或自己构建开发板。当然,您还需要交叉编译器以及与程序员交互的软件,以便它可以加载代码。
我偏爱AVR,所以我建议。其他选项包括PIC,8051的一些变体,PSoC1和TI的MSP器件。
AVR工具链捆绑在WinAVR中,它包括avr-gcc(交叉编译器前端),avrdude(与程序员硬件交互的软件)和C库(avr-libc)+一堆有用的工具。编程硬件可以简单到DAPA/bsd到基于USB的(AVRISP,USBasp,Usbprog)等。
或者,如果您的PC仍然有并行端口,您可以尝试使用VB编写的应用程序来控制说出一组LED。查看http://www.lvr.com/parport.htm了解详情。
答案 2 :(得分:2)
我建议从像arduino这样的东西开始,这是一个开始接近硬件编程的好地方。它是一个原型板,带有一些内置的LED和其他东西,具体取决于你得到的型号。您可以使用C / C ++或任何其他可以交叉编译为与目标硬件兼容的格式的语言(我相信arduino的ATMega微控制器)。
退房:http://www.google.com/search?client=ubuntu&channel=fs&q=arduino&ie=utf-8&oe=utf-8
答案 3 :(得分:1)
如果您只想将某些内容连接到计算机串行/并行端口并与之“对话”,则可以使用大多数语言。在Visual Basic中,您需要一个dll来实现此目的。 Java也许能够做到这一点。 如果你想编写一个微控制器芯片,你最好学习C,因为这是用于编程大多数C语言的语言,尽管其中一些语言接受基本的,java,处理和C ++。
答案 4 :(得分:0)
您可以使用许多基本邮票来弄湿脚。例如,parallax在基于嵌入式的基础系统上开展业务。如果你想在那个编程层面上前进,你真的需要学习C以获得最大的覆盖率,我强烈推荐汇编器,至少有几个不同的指令集。
答案 5 :(得分:0)
您可能对Gadgeteer感兴趣。几个星期前我开始玩套装,这真是太棒了。你现在不能做VB,但你可以做C#和VB is coming very soon。