serial driver - outb 到實際電路量測到的時間過長
(Wayne, 2012-10-08 11:59)
1樓
老師您好,
請問在寫serial driver時有辦法確保outb() return時,電路訊號就即時送出完成嗎?
假設A點是outb() return的時間,過了200ms之後的B點才是Tx量到訊號的時間,
不知道有辦法縮短這中間時間差的辦法嗎?
A B
| |
---------------------------> driver
____
| |
| |
______| |_______ Tx
謝謝!!
(pir, 2012-10-09 08:26)
2樓
怎麼會這麼久..
貼程式上來看看...
(Wayne, 2012-10-09 10:37)
3樓
http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/drivers/serial/8250.c?v=2.6.11.8
其實使用的是8250.c沒改過....
(Richman, moxavictoryu@gmail.com, 2012-10-09 20:20)
4樓
Hi Wayne,
首先請你是使用local bus還是其它bus在控制uart ? 請問你所謂的App是指application ?還是手機上的App ? 通常outb會先送至UART 的FIFO, 會這麼慢送出有幾個可能:1. UART的FIFO可能原先有資料在裹面,才會造成資料太晚送出,那請問你們使用多快的baud rate,2. 是否有flow control 產生誤動作?3. A<->B之間的時間量測是不對
以上請供參考
Richman