首页 理论教育Linux串口发送接收-实践经验

Linux串口发送接收-实践经验

【摘要】:两台PC通过串口建立起COM1和COM2的配对连接,串口COM1在Windows系统中打开,串口2在Linux系统中打开,运行下面例子编译后的程序,与Windows系统的终端通信。Linux系统下串口操作实例。第62行~75行循环读取串口,如果搜到数据就打印到屏幕,并且在第71行判断接收到的字符串是否是“quit”,如果是就跳出循环,退出程序。当连接好两台PC以后,在Linux系统编译实例7-1的stty_echo.c文件生成应用程序。在Linux屏幕终端会打印用户在Windows中串口软件里输入的字符串。

本节将给出一个和Windows串口终端通信的例子。两台PC通过串口建立起COM1和COM2的配对连接,串口COM1在Windows系统中打开,串口2在Linux系统中打开,运行下面例子编译后的程序,与Windows系统的终端通信。

【例7-1】Linux系统下串口操作实例。

实例所示程序扮演一个串口服务端的功能。程序首先在第23行打开一个串口设备,之后判断文件句柄是否合法,不合法会退出。第31行和第32行使用tcgetattr()函数去除串口设备的配置。第35行和第36行设置串口的波特率为19200bps;第39行和第40行设置数据位为8;第43行和第44行设置无奇偶校验;第48行设置1位停止位;第51行和第52行设置超时时间为15秒;最后,第55行使用tcsetattr()函数写入串口设置,并且参数设置为立即配置。第62行~75行循环读取串口,如果搜到数据就打印到屏幕,并且在第71行判断接收到的字符串是否是“quit”,如果是就跳出循环,退出程序。(www.chuimin.cn)

当连接好两台PC以后,在Linux系统编译实例7-1的stty_echo.c文件生成应用程序。使用root权限执行编译后的程序,程序在屏幕打印“Open device success,waiting user input…”。在Windows系统上使用串口软件打开串口,在屏幕输入字符串后按回车键发送字符。在Linux屏幕终端会打印用户在Windows中串口软件里输入的字符串。当用户输入“quit”字符串以后,串口程序退出。