UART设备上接收的字节如何存储在某些串行Linux设备/ dev / ttyS中?如何阅读它们?
程序是什么?当有新数据到达时,应该关闭该设备文件吗?
从用户空间的角度来看,它们根本没有存储。
如果您只想阅读它们,那cat /dev/ttyS...
将是您的最佳选择。有关该如何处理串行接口的更多信息,可以在此页面和互联网上的大量答案和评论中找到,而通常只需几秒钟的搜索即可。一些想法:serial
,screen
,minicom
,cutecom
和类似的工具。这个问题在这里很有趣。
更直接:
/dev/ttyS*
是字符设备,它们在文件系统中的行为不像常规文件,因此您无需刷新或关闭并重新打开它们即可将新信息“写入”到它们。开发文件的目的是要有一种在用户空间和内核空间之间进行通信的方法。
更详细一点,过程是:数据将以电脉冲的形式到达硬件,串行接口。硬件会将电脉冲转换为数字信号,然后将其传输到HAL(硬件抽象层)/内核驱动程序或负责控制硬件的控制器。这将根据波特率和所使用的协议转换为字节,并缓冲以进行进一步处理。然后,内核会将缓冲区清空到字符设备中,该字符设备在用户空间中作为/dev
文件夹中的节点可见。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句