标题:关于QT里的串口操作
作者:漏斗の水风
日期:2006-07-29 00:40
内容:
接触QT比较少,现在需要将一个Linux C的串口程序用qt/e 2.3.10做出来
在C里对串口的主要操作分为读和写,C中操作的主要程序用子进程完成如下:
switch (fork ())
{
case 0: /* child */
/* user input */
close (1); /* stdout not needed */
for (c = getchar (); c != ENDMINITERM; c = getchar ())
write (fd, &c, 1);
close (fd);
exit (0); /* will send a SIGCHLD to the parent */
break;
case -1:
perror ("fork");
close (fd);
exit (-1);
default: /* parent */
close (0); /* stdin not needed */
sa.sa_handler = child_handler;
sa.sa_flags = 0;
sigaction (SIGCHLD, &sa, NULL); /* handle dying child */
while (STOP == FALSE) /* modem input handler */
{
read (fd, &c, 1); /* modem */
write (1, &c, 1); /* stdout */
}
wait (NULL); /* wait for child to die or it will become a zombie */
break;
}
我有如下几个问题想请教一下:
1.我现在是自定义一个类重载MultiLineEdit里的insertChar( QChar c )函数还每读到一个char然后来显示。似乎有些问题,大部分能正常显示。我想问一下有没有更好的查看显示数据的控件或方式?
2.我现在也是在一个自定义的slot大致按照上面那段C写的一段程序。这样可以在shell里可以输入命令给串口。这样的话读串口的函数一直处于阻塞状态,MultiLineEdit只能看不能动。我在想有没有一种方法可以让程序判断串口是否有数据,如果有就调用insertChar(QChar)来显示,该怎么做?自己定一个一个signal来判断是否有数据?还没 ..
#1 [漏斗の水风 07-29 12:40]
我现在就想着如何自动判断串口是否有数据然后发送signal调用接受函数