Operating system linux和用户编写的操作系统的uart问题

Operating system linux和用户编写的操作系统的uart问题,operating-system,linux-device-driver,microkernel,Operating System,Linux Device Driver,Microkernel,声明:我已经尝试了几乎所有的工作选项,尝试使用我自己编写的轮询io模式下的设备驱动程序,通过UART从intel pentium 2系统发送数据,代码非常简单 还有用于发送数据的linux代码 波特率和属性(如8-N-1)在两侧设置。。。如果您想了解有关串行uart寄存器的详细信息,请使用 问题:我在传输中丢失了一些数据丢失的数据通常意味着发送时数据被覆盖。除了在发送字节之间休眠一些usecs之外,您不能查询状态寄存器,比如检查LSR中的THR empty吗?也许你也可以添加像xon/xoff这

声明:我已经尝试了几乎所有的工作选项,尝试使用我自己编写的轮询io模式下的设备驱动程序,通过UART从intel pentium 2系统发送数据,代码非常简单 还有用于发送数据的linux代码 波特率和属性(如8-N-1)在两侧设置。。。如果您想了解有关串行uart寄存器的详细信息,请使用
问题:我在传输中丢失了一些数据

丢失的数据通常意味着发送时数据被覆盖。除了在发送字节之间休眠一些usecs之外,您不能查询状态寄存器,比如检查LSR中的THR empty吗?也许你也可以添加像xon/xoff这样的流控制。

为了克服进程调度和时间限制,我编写了一个独立的程序来单独处理uart,现在我仍然有同样的问题。我有基于git的用于学习操作系统(Nano_src)的代码,用于发送(下载文件)和接收(eksw094)。一定要看一看。任何帮助都将不胜感激!!