#!/bin/bash
#logPath 写日志的存放路径
#logPath=/home/workspace/tvs/trainborne
logPath=/home/firefly
tmpFile=$$
function getLogName()
{
#echo "$logPath/LCDController_"`date +"%Y%m%d000000.log"`
echo "LCDController_20240424000000.log"
}
# 串口设备文件
SERIAL_PORT="/dev/ttyS0"
# 设置串口参数
stty -F $SERIAL_PORT 9600 cs8 -cstopb -parenb
# 要发送的16进制数据,这里以 "48 65 6c 6c 6f"(即 "Hello" 的ASCII码)为例
OPEN_HEX_DATA="aa aa 80 01 00 00 00 03 00 00 00 08 ff ff 06 01 00 18 02 1d db d3 07 58"
CLOSE_HEX_DATA="aa aa 80 01 00 00 00 03 00 00 00 08 ff ff 06 01 00 18 01 1E 69 f7 05 21"
# 使用printf发送16进制数据,注意前面加上了'\x'来指定是16进制
# 这里使用了一个循环来遍历HEX_DATA中的每个值
closeScreen()
{
# echo `date +"%Y-%m-%d %H:%M:%S"`" closeScreen" >>tmp.log
echo `date +"%Y-%m-%d %H:%M:%S"`" closeScreen"
OLD_IFS=$IFS
IFS=' ' # 设置内部字段分隔符为空格
read -ra ADDR <<< "$CLOSE_HEX_DATA" # 将HEX_DATA分割为一个数组
IFS=$OLD_IFS # 恢复原始的内部字段分隔符
for byte in "${ADDR[@]}"; do
printf "\\x$byte" >
shell脚本通过解析日志使用串口开关屏知识点整理
最新推荐文章于 2025-02-25 08:29:46 发布