我正在開發一個linux內核模塊,我需要從串口讀取數據(字符)。 我想設置字符(例如:'D','T'和' - ')作爲來自串口的條目,我想讀取這些條目。我花了很長時間嘗試使用「inb(0x3f8)」和「termios」,但沒有成功。然而寫入數據正常工作與「OUTB」 我的Ubuntu 10.10作爲垂直框配置安裝爲客人VirtualBox上 系統我設置:如何在內核模式(Linux)下從串口讀取數據(字符)?
activated serial port
port number : COM1 IRQ 4 PORT I/O : 0x3f8
Port/path D:\Oracle\serial.txt
你確定你不能讓你的代碼在用戶空間運行,並利用現有的串行驅動程序?一些非常聰明的人已經爲一些串口芯片組編寫了串口驅動程序,如果你不試圖複製他們的工作,你可以節省很多時間。 – larsks
我嘗試過,無論是用戶還是內核空間,我正在使用現有的串行驅動程序。進一步我可以寫在文件「/ dev/ttyS0」上,但是當我嘗試讀取它時,我得到了程序阻塞或者我得到一個段錯誤。我認爲它應該與輪詢,中斷和線程一起工作,但我不知道如何? :-( –