簡體   English   中英

使用USB串行端口運行程序時,為什么我的計算機仍然暫停?

[英]Why does my computer keep pausing when I run a progam using the USB-serial ports?

我編寫了一個使用三個串行端口的程序(兩個串行端口位於一個USB->串行連接器上,另一個串行端口位於其自己的USB->串行連接器上)。 當我運行程序時,每隔5秒鍾左右,我的計算機就會停止響應,就好像內核正忙於做某事。 我沒有寫任何文件,所以它沒有刷新到磁盤,並且我沒有用完內存,所以沒有交換。 還有什么呢? 會刷新串口還是什么? 那會很奇怪,因為我在等待下一個數據寫入串行端口之前等待串行端口的響應。

如果我不使用最后一個串行端口(它自己的USB端口),則發生的情況會更少。

更多信息:

  • Debian Lenny(也嘗試過擠壓)
  • linux 2.6.26-2-686(也嘗試過2.6.32-5-686)
  • 不使用ftdi_sio,使用libftd2xx1.0.2(也嘗試過1.0.4)

libftd2xx似乎是問題所在。 它更改了線程的優先級,似乎忙於等待或似乎接管了系統。 允許用戶訪問/ proc / bus / usb中的usb設備並以普通用戶身份運行程序似乎正常,因此我不確定libftd2xx為什么更改線程優先級。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM