关于跨平台:与电子元件(步进电机等)接口的优秀编程语言(或一组C ++库)是什么?

What would be a good programming language (or a set of libraries for C++) to interface with electronic components (stepper motors etc.)?

我不是电子学专家,所以我可能无法准确地解释我需要什么。这是一个朋友一直问我的问题。

我朋友想要的是一种编程语言,可以让他:

  • 与硬件的接口(通过串行和USB端口)。
  • 编写多线程代码。
  • 很快就把统计研究所集合起来。
  • 尽可能容易地将他的代码移植到Linux和OS X上(好吧,这就是我想要的)。
  • 他正在为当地一个为大学生教授非常基础的机器人学的团体建立一个工具。现在他正在使用C++,但是在C++中编写UI代码并不是一个有趣的任务。他还为(1)使用了一些特定于Windows的库,这意味着我既不能尝试他的代码,也不能帮助他修复错误(我使用的是Mac)。

    编辑:欢迎使用python/ruby库。


    您可能想看一下比较互补的处理和布线工具。处理是一个用于构建用户界面的环境,而布线是一个用于编程I/O板的环境,例如同名布线板、其更简单的同类Arduino和相关设备。接线板通常通过串行链路与台式计算机通信,或通过串行仿真与USB通信。


    如果你想要简单和大量支持的硬件,我想你最好的选择是LabVIEW。这是所有的图形编程(拖动块,建立连接)和许多USB设备(例如DIO)有LabVIEW支持。内置串行支持。它可以使uis变得相当容易(它主要用于GUI控制)。


    Java可能是一个很好的选择。它有可用于低级线程和通信API的库,并且应该能够很好地执行控制循环。我知道它有一个串行端口通讯库,我相信有一些开源的USB库。对于UI,可以使用Java 2D图形API,或者对于更高级的UI,可以尝试略微忽略的Java3D或更新的JOGL库。Swing有它的缺点,但实际上它很容易用于制作基本的窗体uis。


    ACE(http://www. vst.dou/~施密特/ACE.html)是一个与平台无关的C++库(没有UI),Qt(http://www. qtSuffal.com /Cudiths/)是C++的跨平台UI库。不幸的是,访问硬件仍然依赖于平台)


    Ruby和Shoes(GUI)工作得很好,特别适合学习环境/多平台

    编辑-找到它(有点难找到):

    网址:http://shoooes.net/