2011-09-22 66 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