linux下shell脚本实现串口的读取以及报文的解析

286 篇文章 70 订阅 ¥9.90 ¥99.00
58 篇文章 29 订阅 ¥9.90 ¥99.00
本文介绍了如何使用Linux Shell脚本设置和读取串口,包括利用stty配置串口参数,使用cat读取串口数据,并详细讲解了在脚本中如何截取和比较字符串,以及进行计数。最终实现了一个脚本,该脚本读取串口报文,检查报文头部和有效性,当满足条件时计数器加1,达到一定计数值后退出脚本。
摘要由CSDN通过智能技术生成

最近在从串口读取报文并判断报文内容是否有效,本来用C++写了一个小程序。奈何板卡的sftp服务老是连不上,于是考虑用shell脚本实现这个功能。用shell脚本实现这些功能面临以下几个问题:

1.命令行如何设置和读取串口?
stty是Linux平台下很好的终端设置工具,可以设置各种终端属性。本质上串口也是Linux系统中终端的一种。所以第一步设置串口的波特率:

stty -F /dev/ttyO1 raw speed 9600
1
然后就是读取串口,在命令行操作时我们用cat命令很容易就读取并从终端打印出了串口信息,但是在脚本中我们希望将一行串口报文读入字符串变量中,于是有下面的代码:

cat /dev/ttyO1 | while read LINE
do
echo LINE
#do something

done

2.如何截取字符串和比较字符串?
str=“hello world”
#截取hello
h=${str:0:5}
#第一个:后面是表示位置;第二个:后面的数字表示字符数量

#字符串的比较有很多种方法,下面是其中的一种
if [ $h == ‘hello’ ]; then
#do something

3.如何在shell脚本中计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毛毛虫的爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值