我正在從Linux下的虛擬串行端口讀取數據(所連接的設備是xbee模塊)是Linux上的ttyUSB0等虛擬串行端口的IRQ嗎?
當前讀取是使用檢查端口緩衝區的線程完成的。 但是在許多設備的情況下,這並不好,因爲一個端口上的數據可能每隔一秒就出現一次,所以它成爲CPU的負擔。
我想知道是否有類似的中斷,即觸發事件恩,只有當新的數據是可用的(我知道這主要適用於微控制器)。
如何在C++中做到這一點?
我不知道如何使用這些信息,因爲從我身邊缺乏瞭解。如果我有這樣的事情:
while(1){
int n= PollComport(comport_number, buf, 4095);
if(n>0){
//make somemthing with the new data
}
}
我想刪除while循環。我在哪裏以及如何使用epoll_wait?
如果你能代替'PollComport'與確實做到了你想要的功能,將這一職能做正是? –