gpt4 book ai didi

linux - 如何将硬件中断连接到 Qt Emit?

转载 作者:太空宇宙 更新时间:2023-11-04 04:15:42 25 4
gpt4 key购买 nike

我正在构建和嵌入式应用程序,我宁愿使用硬件中断监听器,然后通过每十分之一秒轮询来消耗CPU周期。

这显然是可以完成的,因为有键盘、鼠标和网络等硬件中断的监听器。我最终想做的是让硬件中断触发 Qt 发出信号。

提前致谢。

示例:
硬件中断->readPort()->emit(value)

更新
我认为这样的事情会起作用,但我希望听到有这方面经验的人的意见。

mSN = new QSocketNotifier; // defined in .h
QFile file("/dev/testDriver");
if(file.open(QFile::ReadOnly)) {
QSocketNotifier mSN(file.handle(), , QSocketNotifier::Read);
mSN.setEnabled(true);
connect(mSN, SIGNAL(activated(int)), &this, SLOT(readyRead()));
}

最佳答案

不知道有关您的应用程序的任何其他信息,可能有一个非中断解决方案。

创建 QObject 的子类并将其移动到唯一的 QThread。

在对象中,调用startTimer(100)。

在timerEvent()中,轮询硬件。根据需要发出信号。

在 Qt4 中,信号和槽会自动跨线程排队。

关于linux - 如何将硬件中断连接到 Qt Emit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16465506/

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