gpt4 book ai didi

linux - 串口异步输入功能的限制?

转载 作者:太空宇宙 更新时间:2023-11-04 11:39:27 24 4
gpt4 key购买 nike

我们有一个 Linux 嵌入式项目,我们很关心性能。

串行端口异步输入示例位于: http://www.faqs.org/docs/Linux-HOWTO/Serial-Programming-HOWTO.html#AEN105几乎可以满足我们的需求。

然而,负责工程师反对 CPU 性能损失循环 sleep 调用。他希望程序等待信号来执行响应处理代码。

我尝试将该代码从 main() 移到信号函数内部,即:

void signal_handler_IO (int status)
{
// I moved my code here
}

结果不起作用,写入该函数中的串口很快失败,程序变得完全没有响应。

这是为什么?

谁有一个很好的仅用于一个串行端口的信号驱动 I/O 在线示例?我一直在仔细研究 Kerrisk 的“The Linux Priogramming Interface”一书的第 63 章,并疯狂地进行谷歌搜索。我开始认为可能没有更好的方法来完成最初的示例。

提前致谢

伯特

最佳答案

如果您担心在没有可用输入时定期从 usleep() 调用中唤醒,只需将 usleep() 调用替换为 pause(),它将暂停您的进程,直到发生 SIGIO。

关于linux - 串口异步输入功能的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com