Project

General

Profile

Bug #302 » rs232_uart.sh

测试脚本 - mike, 05/26/2023 01:07 PM

 
1
#! /bin/bash -x
2
#RS232_Test
3
# ./rs232.sh Send_Port:/dev/ttyS0 Receive_Port:/dev/ttyS4 115200 serial_test.log
4
WorkDir=$(cd "$(dirname "$0")"; pwd)
5
function cat_vaule()
6
{
7
        for ((i=1;i<=3;i++))
8
        do
9
          sleep 0.1; echo -e "test/r/n" > $1
10
        done
11
}
12

    
13
function serial_port_test()
14
{
15
if [ -e $1 ] && [ -e $2 ]; then
16
  for ((i=1;i<=2;i++)) do echo -e "test/r/n" > $2;done
17
 cat_vaule $1
18
  echo -e "*************************Send_Serial_Port___:$1*************************"
19
  echo -e "*************************Receive_Serial_Port:$2*************************"
20
  stty -F $1 raw speed $3 min 0 time 10 >/dev/null;rev_tx1=$?;sleep 1;stty -F $1 raw speed $3 min 0 time 10 >/dev/null;rev_tx2=$?
21
  stty -F $2 raw speed $3 min 0 time 10;rev_rx1=$?;sleep 1;stty -F $2 raw speed $3 min 0 time 10 >/dev/null;rev_rx2=$?
22
  rev_back=$(($rev_tx1+$rev_tx2+$rev_rx1+$rev_rx2))
23
  if [ $rev_back = 0 ]; then
24
#     echo bbbb
25
      rm -rf $4
26
      sync
27
      cat $2 >> $4 &
28
      cat_vaule $1; kill $(ps -elf |grep cat |grep -v grep|awk '{print $4}');grep "test" $4 >/dev/null;ret_val=$?
29
      if [ $ret_val -eq 0 ]; then
30
         echo -e "\033[32m \033[ [[********************$6$1***Connectivity is Pass********************] \033[0m"
31
         $WorkDir/logprint.sh $6'&'$1 PASS $5 $7
32
         rm -rf $4
33
	 #cat_vaule $1
34
         exit
35
      elif [ $ret_val = 1 ] || [ $ret_val != 0 ]; then
36
         echo -e "\033[31m \033[ [[********************$6$1***Connectivity is Fail*******************] \033[0m"
37
         $WorkDir/logprint.sh $6'&'$1 FAIL $5 $7
38
         rm -rf $4
39
         exit
40
      fi
41
  fi
42
fi
43
       echo -e "\033[31m \033[ [[********************$6$1***Connectivity is Fail*******************] \033[0m"
44
       $WorkDir/logprint.sh $6'&'$1 FAIL $5 $7
45
}
46
serial_port_test $1 $2 $3 $4 $5 $6 $7
    (1-1/1)