代码之家  ›  专栏  ›  技术社区  ›  ajl123

使QT创建器应用程序与微控制器通信

  •  0
  • ajl123  · 技术社区  · 9 年前

    目前我想在我的桌面上创建一个qt应用程序,它有3个按钮。这3个按钮可以改变我的设备的某些变量,它将通过微控制器连接到桌面。

    我希望我的桌面应用程序能够与微控制器通信。例如,单击一个按钮可能会翻转某个布尔变量,微控制器将相应地进行调整。

    我不知道如何开始,我应该问什么样的问题,以及如何在高水平上解决这个问题。

    非常感谢。

    我的桌面是一台15英寸的macbook pro视网膜2014,我的微控制器不是Teensy就是Intel Atom。

    2 回复  |  直到 9 年前
        1
  •  3
  •   TheLastOperator    9 年前

    我不知道您使用的是什么类型的微控制器,但如果它支持UART,您可以使用QSerialPort库( http://doc.qt.io/qt-5/qserialport.html )使用串行端口发送数据。

    如果是arduino,您可以直接通过USB模拟COM端口使用此库发送消息。如果它没有USB模拟COM接口,您应该使用串行适配器(arduino板可以扮演此角色)。

        2
  •  2
  •   Jorge Torres    9 年前

    首先要看的是桌面计算机和微控制器之间的通信总线是什么。您的微控制器是否具有USB或以太网功能?您的微控制器是否有用于WiFi或蓝牙支持的扩展板?您可以访问台式电脑中的I2C总线吗?

    根据上面的答案,如果您的微控制器和计算机不共享公共通信总线,您可能需要使用中间硬件,例如,您可能希望使用FTDI USB(在您的桌面上)到UART(用于微控制器)电缆,您可以在这里找到这些: http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm

    在这种情况下,我建议使用带有VCD驱动程序的电缆,因此电缆显示为计算机的串行端口,您可以使用QSerialPort在QT中访问该端口( http://doc.qt.io/qt-5/qserialport.html )

    还有其他类似的解决方案,但我想说,如果微控制器和主机之间没有共享总线,这将是最通用的解决方案之一。如果您指定您的微控制器或嵌入式板,我们可以提供更多帮助。