用于串行通信的Qt-Gui

用于串行通信的Qt-Gui,qt,serial-port,arm,embedded-linux,u-boot,Qt,Serial Port,Arm,Embedded Linux,U Boot,我正在学习Qt,我想创建一个带有一些按钮的GUI,通过串行控制台(而不是minicom)发送数据以引导我的ARM设备。 我知道Qt已经提供了一个串行通信库。 我只是想知道,这是否是一个现实的方法,采取在U-引导水平?还是我会弄乱我的数据? 为了更好地可视化需求: button---->clicked()--->It should send 1st command to serial console as "setenv bootargs blablabla" and then app

我正在学习Qt,我想创建一个带有一些按钮的GUI,通过串行控制台(而不是minicom)发送数据以引导我的ARM设备。 我知道Qt已经提供了一个串行通信库。 我只是想知道,这是否是一个现实的方法,采取在U-引导水平?还是我会弄乱我的数据? 为了更好地可视化需求:

button---->clicked()--->It should send 1st command to serial console as
"setenv bootargs blablabla" and then application should read back if 
we are getting back the prompt "U-boot#". If yes,then send the next command 
"tftp 0x82000000 uImage" and so on. 
这些命令可以在一些文本文件中。不过,我仍然需要考虑设计,这就是为什么我只想知道它是否可能


提前谢谢

在windows上,WinAPI的一部分可以处理串行通信,我认为它可以与Qt一起使用,就像其他C/C++库一样

请注意,要使其工作,您的设备必须在设备管理器中显示为COM端口

在linux上,有一个名为termios的C库,但到目前为止我还没有这方面的经验


是的,这是可能的,在我的项目中,问题是从串行端口读取结果,有时您会得到一些垃圾字符,因此很难确定发出的命令是通过还是失败,以及qt窗口冻结问题,如果在时间限制内没有做任何活动。

对于Qt4,请使用Qextserialport 从Qt5开始,使用QSerialPort


Qextserialport&QSerialPort使用相同的代码在linux和windows上工作。

这个问题确实不清楚,但是如果你问
QSerialPort
是否是与硬件对话的好方法,那么答案是肯定的。我更喜欢使用特定于平台的方法。如果您引用一个可以通过串行端口发送和接收数据的程序,同时询问“是否可以编写一个通过串行端口发送和接收数据的程序”,还有什么需要回答的?(有趣的是,就在上周,我写了一个脚本来实现这一点,用于自动git对分运行)有一种叫做Qt的跨平台方法。如果您已经具有Qt依赖项,则没有理由使用WinAPI。即使您只为Windows编程,
QSerialPort
也可能更出色,因为您可以在信号和插槽中异步使用它。我对Qt并不太熟悉,所以我提供了到目前为止我所使用的。
QSerialPort
界面看起来真的很不错,也许我也应该试试,而不是WinAPI,谢谢。感谢各位慷慨的回答。我知道QSerialPort库。只是想问一下,我们是否可以使用它在U-Boot级别(在U-Boot提示符下发送命令)与freescale vybrid板通信,或者我只能在用户空间(加载内核和文件系统时)进行通信。我怀疑也是这样。这就是我的问题。谢谢。