如何编程硬件?

Roh*_*rma 9 hardware embedded

我是一名熟练的Visual Basic程序员.我想了解人们如何编程硬件.例如,我见过人们制造LED手表,盒子等.你是如何实现这一目标的?可以使用VB或Java完成吗?我在阅读C,C++代码方面有一些经验.我只知道C和C++语言中的IO.

Vij*_*hew 19

您可能正在寻找可编程微控制器.如果您有C/C++/Java方面的经验,请查看Arduino.它的芯片使用C语言编程.这个" How to tos "页面可能会帮助您入门.还有一些好书可以帮助你前进:

  1. 编程交互.
  2. 为发明家,爱好者和艺术家制作移动DIY机制

布线是一个类似于Arduino的平台.

另请参阅Forth编程语言.有许多有趣的" 微型计算机 ",你可以用这种相当不寻常的语言编程.以下是部分列表:

  1. 福斯公司
  2. Greenarrays
  3. Zilog Z8
  4. PIC18FXX2

两本着名的Forth书:

  1. 从第四位开始
  2. 思考(软件工程文献的经典之作)


小智 6

人们如何编程硬件

如果"硬件"是指独立设备(嵌入式系统),则该过程涉及交叉编译.设备代码在主机 PC 上以某种(高级)语言编写,编译并转换为适合下载到目标设备上的形式.

交叉编译器为运行它的平台生成可执行代码 - 例如,AVR交叉编译器将为AVR微控制器生成代码,但编译器在PC上运行.通常,使用汇编和C,在某种程度上使用C++,Java和Ada.

如果"硬件"是指通过某个端口(串行,并行,USB)连接到PC的某些设备,则编程涉及通过该端口的交互,也可能需要设备驱动程序.

可以使用VB或Java完成吗?

我不确定VB(可能还有WinCE及其类似的VB编译器).Java用于更复杂/更大的嵌入式系统(例如移动电话),主要用于为设备开发用户应用程序.

制作LED手表,盒子等.你是如何实现这一目标的?

如果您有兴趣开发类似LED手表的东西,您需要学习如何编程微控制器.至少,您需要两个组件:微控制器和一些将程序加载到其上的硬件(程序员).您可以投资开发板,或自己构建开发板.当然,你还需要交叉编译器,以及与交互的sotware 程序设计师,以便它可以加载代码.

我偏爱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.