1.实验目的
通过编写多路复用式串口读写,进一步理解多路复用函数的用法,同时更加熟练地掌握Linux设备文件的读写方法。
2.实验内容
本实验中,实现两台机器(宿主机和目标板)之间的串口通信,而且每台机器均可以发送数据和接收数据。 除了串口设备名称不同(宿主机上使用串口1:/dev/ttyS0,而在目标板上使用串口2:/dev/ttyS1),两台机器上的程序基本相同。
首先,程序打开串口设备文件并进行相关配置,调用select()函数,使它等待从标准输入(终端)文件中的输入数据及从串口设备的输入数据。如果有标准输入文件上的数据,则写入到串口,使对方读取。如果有串口设备上的输入数据,则将数据写入到普通文件中。
3.实验步骤
(1)画出流程图。图2.6所示为程序流程图,两台机器上的程序使用同样的流程图。
图2.6 宿主机/目标板程序的流程图
(2)编写代码。编写宿主机和目标板上的代码,在这些程序中用到的open_port()和set_com_config()函数请参照后续章节所述,这里只列出宿主机上的代码。
/* com_host.c */
#include
#include
#include
#include
#include
#inclu