2011-09-22 108 views
0

聲明:我已經嘗試了幾乎所有的工作選項,嘗試通過使用設備驅動程序以我寫的輪詢io模式的Intel Pentium 2系統發送數據,它非常簡單的代碼就可以在http://pastebin.com/8snzeaXu 也是Linux的代碼可以看出,用於發送數據http://pastebin.com/YRszQqRv 波特率和屬性,如8-N-1設置在兩側...如果u想關於串行UART寄存器的詳細使用http://www.lammertbies.nl/comm/info/serial-uart.html#LSR 問題:我錯過了傳輸中的一些數據uart與linux和用戶編寫的操作系統的問題

+0

任何幫助將不勝感激! – bicepjai

回答

0

缺失數據通常意味着數據在發送時被覆蓋。不是在發送字節之間休眠一些usecs,你不能查詢狀態寄存器,就像檢查THR的LSR爲空嗎?也許你也添加像xon/xoff這樣的流量控制。

+0

爲了克服過程調度和時間上的問題,我寫了一個獨立的程序來單獨處理uart,但我仍然有同樣的問題。 我有git 的代碼庫用於學習操作系統(nanos_src) 發送(download_file_uart)和接收(eksw094_s)。 確實看過它。 https://github.com/bicepjai/nanos – bicepjai