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

Making a QT-creator Application communicate with a Microcontroller

本文关键字:控制器 通信 应用程序 QT 创建者      更新时间:2023-10-16

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

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

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

谢谢。

我的桌面是一台15英寸2014的macbook pro retina,我的微控制器要么是Teensy,要么是Intel Atom。

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

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

首先要看的是台式计算机和微控制器之间常见的通信总线。您的微控制器是否具有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)

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