Linux系统虚拟串口收发周期数据

背景是利用两个串口进行数据交互,一个串口周期发送数据,一个串口处理数据。

这里的系统是Linux系统

1.Linux系统虚拟串口工具

1.1 socat安装

sudo apt-get install socat 

1.2 开启虚拟串口

socat -d -d pty,raw,echo=0 pty,raw,echo=0

执行命令就会创建两个虚拟串口对,0,2。这个终端串口不要关闭,关闭后虚拟串口也会关闭。

1.3串口通信测试

新开一个终端监听其中一个串口

cat < /dev/pts/0

再新开一个终端,用另一个串口写入数据

echo "123456789" > /dev/pts/2

1.4Cutecom工具测试

这里原本打算利用网上的教程使用Cutecom工具发送周期性数据,但是安装好Cutecom运行时发现无法选择虚拟串口,就是不像网上教程说的那样可以手动输入。附图

Device无法手动输入,导致无法选择生成的虚拟串口。查询无果,所以就不使用这个软件

1.5Putty工具测试

Putty遇到的问题和Cutecom差不多,就是无法使用。

1.6Shell命令发送周期信息给串口

因为我的目的是想每隔1s发送一个信息给串口做数据的后处理,考虑到这些,shell命令完全可以满足这些条件。

我选用的是比较简单的sleep的方法,脚本如下:

#!/bin/bash
for i in $(seq 1 10)
do
        echo "123456" > /dev/pts/2
        sleep 1
done   

简单的for循环10次,每隔1s发送数据给串口。

当然还有其他方法可以参考Linux如何重复执行命令每隔几秒或者每隔几分钟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值