Demo参考

Atlas 500 A2 智能小站的UART3调试作为参考,采用两台Atlas 500 A2 智能小站的对接测试UART3串口收发功能。具体请参见Atlas 500 A2 智能小站 用户指南的“RS485全双工接口使用指导”或“RS485半双工接口使用指导”章节。

Atlas 500 A2 智能小站(A设备)设备上执行如下命令,通过uart3发送数据包。

echo test > /dev/ttyAMA2

Atlas 500 A2 智能小站(B设备)设备上执行如下命令,通过uart3接收数据包。

cat /dev/ttyAMA2

test

注意事项

Atlas 500 A2 智能小站的RS485半双工接口调试中,会使用到Atlas 500 A2 智能小站“/usr/local/scripts”路径下自带的“485_work_mode_switch.sh”文件。Atlas 200I A2 加速模块环境需要通过如下操作增加“485_work_mode_switch.sh”文件。

  1. 登录Atlas 200I A2 加速模块OS。详细信息请参见使用PuTTY登录设备(网口方式)
  2. 执行如下命令,进入“/usr/local/scripts”路径。

    cd /usr/local/scripts

  3. 执行如下命令,增加“485_work_mode_switch.sh”文件。

    vim 485_work_mode_switch.sh

    添加如下代码,完成后,按“Esc”键,再执行:wq!保存修改,并按“Enter”键退出。

    #! /bin/bash
    # set 485 work mode switch
    current_time=`date +"%b  %-d %H:%M:%S"`
    if [ "$1" == "send" ];then
        gpio_operate set_direction 4 19 1 > /dev/null
        gpio_operate set_value 4 19 1 > /dev/null
        if [ $? -eq 0 ];then
            echo "Setting to send mode succeeded."
            echo "$current_time Euler 485_work_mode_switch.sh[8]: Setting to send mode succeeded." >> /var/log/messages
        else
            echo "Setting to send mode failed."
            echo "$current_time Euler 485_work_mode_switch.sh[11]: Setting to send mode failed." >> /var/log/messages
        fi
    elif [ "$1" == "recv" ];then
        gpio_operate set_direction 4 19 1 > /dev/null
        gpio_operate set_value 4 19 0 > /dev/null
        if [ $? -eq 0 ];then
            echo "Setting to receive mode succeeded."
            echo "$current_time Euler 485_work_mode_switch.sh[18]: Setting to receive mode succeeded." >> /var/log/messages
        else
            echo "Setting to receive mode failed."
            echo "$current_time Euler 485_work_mode_switch.sh[21]: Setting to receive mode failed." >> /var/log/messages
        fi
    else
        echo "invalid parameter"
    fi

  4. 执行如下命令,增加“485_work_mode_switch.sh”文件执行权限。

    chmod u+x 485_work_mode_switch.sh