linux下的串口通信程序详解
2009-07-19 12:37
为了说明问题,下面给出测试程序来理解linux下的串口操作流程,例程receive.c用来接收从串口发来的数据,而例程send.c用来发送数据到串口。二者成功建立串口连接后,串口接收端会收到串口发送端发来的字符串数据“Hello,this is a Serial Port test!”。
1. receive.c程序清单: 2.send.c程序清单 分别将上面的俩个程序编译之后就可以运行了,如果是在两个不同的平台上运行,比如,在开发板上运行数据发送程序write(write.c编译后得到),在宿主机上运行结收数据程序read(read.c编译得到),采用串口线将二者正确连接之后,就可以运行来看实际的效果了: 首先在宿主机端运行数据接收程序receive: [zhang@localhost]# ./receive [zhang@localhost]#open /dev/ttyS0: Success ready for receiving data... The data received is: Hello,this is a Serial_Port test! [zhang@localhost]# 在接收端运行完程序之后再到发送端运行数据发送程序send: #./send ready for sending data... the number of char sent is 35 # 运行完发送程序之后就可以在接收端看到接收的数据了。 也可以在一台PC机上来运行这两个程序,这时需要将串口线的2、3脚短路连接即可(自发自收),实际运行的步骤与上面相同。 |