【问题标题】:Where can I start with programmable Hardware?我可以从哪里开始使用可编程硬件?
【发布时间】:2011-04-03 10:31:41
【问题描述】:

很长一段时间以来,我一直渴望至少了解一点关于编程硬件的知识,并认为我会在这里询问一些起点。我是一个相当有成就的程序员,具有 Delphi 和 Objective-c 经验,但从未听过设备端口/中断(我什至不知道术语),更不用说编写硬件了。

首先我想做的是,

  • 购买带有 2,3 或 10 个按钮的简单工具包
  • 通过 USB 将设备插入我的电脑
  • 在按下按钮后监听设备并编写一些代码来执行某些操作。

我认为这是一个很好的起点,有人知道要购买的硬件或如何开始吗?

【问题讨论】:

    标签: c++ c embedded hardware usb


    【解决方案1】:

    我喜欢Arduino,它易于使用、开源且社区很棒!

    很好上手,并且使用了 C/C++ 的子集。

    此外,还有很多可用的附加硬件,例如 GPS、蓝牙、Wifi 等

    我对 Arduino 的体验非常好,从您开箱即用(并在 Windows/Mac/Linux 上安装免费编译器)到构建您的第一个“草图”(一个项目或应用程序)对于 Arduino)。

    制作一个应用程序很简单,你有一个Setup 方法,它在启动时被调用,然后是一个loop 方法,它在Arduino 运行时循环。

    然后您所要做的就是将输入或输出连接到 Arduino 板上的引脚,告诉代码它们是什么,希望您能得到所需的输出。

    关于 Arduino(以及其他我敢肯定)的另一个真正好处是,您现在可以使用那些破旧的打印机,或者没有人想要的 2x CD-ROM,而且其他所有的东西都过时了技术。您可以在服务器机房中找到令人惊奇的东西!

    现在,我只从事小型项目,例如插入 LCD、读取室温和各种类似的项目。但是基于我所做的,我对 Ardunio 很满意,它为嵌入式编程提供了良好的基础,如果还不够,您可以随时做大!

    我的 2 美分!

    【讨论】:

    • Arduino 甚至带有一个演示应用程序,您可以在其中通过 USB 链接读取哪些输入引脚(充当串行端口)
    • 是的,它非常棒,而且功能齐全。几乎只是被你的想象力所阻止。这就像玩乐高积木,除了一个成年人:) IMO
    【解决方案2】:

    还有使用 .NET Micro Framework 和 Microsoft Visual C# Express 的热门新闻netduino。我不知道这是否比 Arduino 更好,但这是另一种选择。

    【讨论】:

    • 很酷,但我要与编写介绍性视频脚本的人一起挑选骨头:如果我想在硬件上编程,我可能已经知道 while 循环的作用.
    【解决方案3】:

    为什么不从微处理器的 AVR 编程开始。是的,水平可能有点太低了。但我知道很多人已经开始使用它进行硬件编程。你可以在这里找到一个编译器。 http://winavr.sourceforge.net/ 和一个很好的教程:http://www.ladyada.net/learn/avr/

    【讨论】:

      【解决方案4】:

      上一张海报提到了 Arduino,但你也应该考虑Teensy。基本上是一样的,但是价格要好一些。您还可以选择在“Arduino”模式或原始 AVR 模式下使用它。我不知道 Arduinos 是否给你两种选择。

      有一个comparison page,您可以在其中看到 Teensy 有一些更好的硬件。内置 USB 提供了更好的性能。

      【讨论】:

        【解决方案5】:

        我肯定会建议尝试各种微控制器。 Arduino 控制器很好,并且有一个 number of tutorials

        但是,这不是您唯一的选择。在学校里,我和Microchip PICs一起工作,这对于业余爱好者的场景也很不错。 PIC 的好处是我们的微控制器教科书支持它,所以我们在学习理论的同时看到了应用程序。

        【讨论】:

        • 我建议使用 PIC18F4550 或更新版本。您可以索取免费样品——每月最多 5 个样品。不要告诉 Microchip,但这些年来,我通过索取样品储备了大量此类产品。还有 PICkit2 套件(这家伙没有免费样品,但仍然很便宜),它可以让您通过 USB 对芯片进行编程。
        【解决方案6】:

        如果我理解你的问题,你对嵌入式编程不感兴趣。您想购买从一开始就可以工作的东西并从 Windows 控制它。

        说到按钮,在 Windows 中没有什么可做的。这些是 HID 控件,Windows 为您处理所有接口。那里没什么太令人兴奋的。

        在这种情况下,您可以抓住任何操纵杆并使用 DirectInput(DirectX 技术的一部分)与之交互。借助力反馈,您可以做一些很酷的事情。

        一个更有趣的项目是购买一个 Wii 控件并编写一些有趣的应用程序。 查看此网站以了解我的意思:

        http://johnnylee.net/projects/wii/

        由于 Windows 不支持 Wii 控制器,你真的可以在这里做一些工作:)

        【讨论】:

          【解决方案7】:

          我知道你喜欢 Delphi,所以你可以看看 AvrCo Multitasking Pascal for AVR。您可以在http://www.e-lab.de 尝试。 MEGA8/88版本是免费的。有大量的驱动程序、模拟器、JTAG 在线调试器和具有所有标准设备可视化的编程器(对于启动,您可以用几个电阻器制作一个简单的 LPT 编程器)。它还可以为所有 Arduino 设备制作程序,因为 AVR 就在他们的炉膛里。 Atmel 的 STK500 是一款不错的初学者板,带有 LED、开关和一些其他外围设备。如果您更喜欢开源,那么带有 GCC 的 WinAVR 可能是您的选择。

          【讨论】:

            【解决方案8】:

            如前所述,Arduino 是一个不错的选择。社区很大而且很有帮助。好消息是,如果需要,您可以通过使用 AVR 微控制器的 GCC 端口直接转换为“真正的”语言。在我的最新项目中,我这样做了 - 用 Arduino 制作大部分原型,然后用 C 重新编写。

            从按钮和 LED 开始是个好主意。在改装 Wii 之前,首先要建立一些使用基本硬件的信心!

            一些链接:

            • AVR 的 Windows GCC 交叉编译器(1 步安装):WinAVR
            • 一个Arduino克隆套件
            • Adafruit 是另一个很好的入门硬件和技术建议来源
            • 嵌入式StackOverflow

            【讨论】:

              【解决方案9】:

              您已经编写的任何程序都与硬件交互,例如显示器、键盘、鼠标、扬声器等。获得一个简单的设置,让您的程序可以处理 USB 设备上的按钮,并不会教您太多有关使用硬件的知识。这部分是一个问题,即您想在软件堆栈中走多低,以及您想了解多少软件结束时会发生什么。

              1. 给自己买一本“​​艺术的 Electronics”。它相对易于阅读,涵盖了欧姆定律和微处理器之间的所有内容,并且可以让您很好地了解整个系统的功能。
              2. 阅读。
              3. 查看 Digikey。您可以以合理的价格轻松在线购买任何与电阻器、电容器、IC、低成本电路板相关的硬件。

              其他回复提到了 Microchip PIC 和 Atmel AVR,它们是小型且简单的微控制器。两家公司都有丰富的应用笔记,请查看他们的网站,阅读一些应用笔记。您可以获得上述的低成本评估板或其他回复中提到的 Arduino 之类的东西。考虑设计和构建自己的电路板,以强迫自己学习基础知识。找一个不介意为您提供一些建议的 EE 或认真的爱好者朋友。

              如果您想了解更多有关 PC 硬件的信息,可以查看 Windows(下载 WinDDK)、Linux 甚至 DOS 下的一些简单设备驱动程序(例如打印机或串行端口)。在 PC 上的 DOS 下进行编程可以相对轻松地与 PC 硬件交互,您可以使用打印机端口读取按钮等。

              链接(我是新用户,无法直接链接):

              www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957

              www.digikey.com/

              www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2879

              www.atmel.com/products/avr/

              【讨论】:

                猜你喜欢
                • 2011-01-15
                • 2023-03-26
                • 1970-01-01
                • 2011-08-12
                • 1970-01-01
                • 1970-01-01
                • 2010-10-02
                • 1970-01-01
                • 2012-01-26
                相关资源
                最近更新 更多