termios

    2热度

    1回答

    我的目标:一个线程将等待(忙碌循环不休眠),直到按下特定键(可以说是0)。每个线程都有一个不同的键,它会触发该线程退出等待并通过等待后的命令进行处理。 我曾尝试以下来实现这一点: 使用CONIO.H和残培(),但是这是用gcc老不工作了。来源:Why can't I find <conio.h> on Linux? 使用ncurses.h和getch(),但这会停止等待键盘按下时执行。 代码我使用

    1热度

    1回答

    以下功能用于在Linux下从串口读取数据。我可以在调试时读取完整的数据,但是当我启动程序时,read_buffer似乎并不完整。我正确接收了小部分数据,但缓冲区的其余部分完全是零。可能是什么问题呢? int8_t __serial_port_open(uint8_t *port) { mode_t perms = S_IRWXU; fd = open(port, O_RDWR

    1热度

    1回答

    我有一段python代码,它将条目从bash历史注入到命令提示符中。 一切工作完美,直到我切换到Python 3. 现在德国Umlaute出现错误。 例如。 python3 console_test.py mööp 结果: $ m� 下面是相关代码: import fcntl import sys import termios command = sys.argv[1] fd

    0热度

    1回答

    我试图移植一个旧的C应用程序,该应用程序与串行设备对话到C#中。 newtio.c_iflag = IGNPAR; newtio.c_oflag = 0; 我不明白的方式在C#中复制这一点,我相信这将导致串行设备的行为方式不同,当发送“9C”: C应用程序建立在串行通信设置以下字段。

    1热度

    1回答

    我的Linux C应用程序不能从Arduino的 大家好接收字节,我打算将使用Arduino兆2560作为AT89S52(家庭8051微处理器的)程序员。 Arduino板通过USB串行电缆连接到PC。 起初我需要在我的Ubuntu中编写一个程序来与Arduino板进行通信。我的程序可以打开连接并正确写入字节到Arduino(我通过打开/关闭来测试),但问题是Linux程序无法从Arduino接收

    1热度

    4回答

    我一直在寻找int man 3 tcgetattr(因为我想更改程序中的终端设置)并找到了它。 int tcgetattr(int fd, struct termios *termios_p); int tcsetattr(int fd, int optional_actions, const struct termios *termios_p); 问: 我想知道是什么fd

    1热度

    1回答

    我有一个/dev/ttyUSB设备和一个/dev/ttyMFD设备,我需要流到日志文件。对于USB设备,我可以使用termios并通过它进行配置。这非常简单,还有一些文档。 虽然我似乎无法找到任何MFD。有些地方称它为MultiFuctionDevice,而另一些地方称之为Medfield高速UART设备。 哪一个是正确的? 其次,我可以像打开常规ttyUSB设备一样打开它吗? 这里是我用来打开U

    0热度

    1回答

    我正在尝试编写类似于shell的程序,但与终端模拟器结合使用。这样做的原因是我无法刷新写缓冲区来发送数据到程序或程序检查输入/输出是管道。 问题在于设置termios结构。我希望我的伪终端可以作为标准的Linux终端,它应该能够使用轮询,写入和读取。 我正在使用openpty函数和login_tty。我使用openpty两次打开标准输入/输出终端和stderr终端。 谢谢。

    1热度

    1回答

    我正在尝试为shell编写一个pty I/O透明过滤器。 以下示例大多适用。大多数程序按照预期与包装程序一起运行。这个例子不做任何过滤,它的目的只是提供一个框架。 编辑:用我的答案在下面我得到了这个例子的工作。我已经更新了这个例子来反映这一点。 这里是现在工作代码: /* This example is public domain. Use as you see fit. The purpo

    0热度

    2回答

    我正在写一个使用termcaps的程序,我需要知道我正在使用哪种终端。 我知道我可以通过getenv("TERM")获得TERM变量,但是我可以用“$ env -i ./myprog”启动我的程序,并且不会设置TERM。 那么如何确定我必须使用哪种终端类型? 我可以在我的应用程序中安全设置TERM变量为xterm/xterm-256color吗? 它会导致不可移植性问题吗? 有没有一种方法可以安全