0

我真的不知道怎么称呼。这不是真正的实时,但我需要这个:我有一个嵌入式解决方案,我可以通过 USART 和标准 COM 端口 (FTDI) 与之通信。但是要开始通信,比如授权过程,我需要保持精确的时间。例如:开机 > 等待 10ms > 发送 0x55 > 等待 20ms 读取响应 > ...我为此使用了串行端口库来使用 COM 端口。在 70-80% 的情况下它工作正常,但你知道它在 Windows 上运行,我正在使用 Windows 库中的标准函数 sleep(),如果计算机有很多工作,它会破坏我的序列,因为多任务处理。那么我该怎么做呢?线程可以帮助吗?

4

1 回答 1

0

这是一个简单的卧铺课程:

class Sleeper : public QThread {
public:
    static void msleep(unsigned long v) { QThread::msleep(v); }
};

void sleep(int ms) {
    Sleeper::msleep(ms);
}
于 2013-06-20T09:21:54.687 回答