Hi3798 RS485測試

目錄

一、虛擬機測試環境搭建

二、開發板掛載網絡文件系統

三、RS485測試

附錄


本文檔中利用交叉編譯工具編譯一個app程序用於測試RS485通信,需利用nfs掛載的形式該app下載至開發板中。

一、虛擬機測試環境搭建

  • 安裝NFS組件
sudo apt-get install nfs-kernel-server
  • 建立共享文件夾
mkdir /nfs
  • 設置共享目錄

修改虛擬機的/etc/exports文件,添加如下代碼

/nfs *(rw,sync,no_root_squash)
  • 重啓nfs服務器
sudo /etc/init.d/nfs-kernel-server restart

二、開發板掛載網絡文件系統

啓動開發板進行操作

如果開發板與主機都連接在路由器或者交換機上,即有dhcp主機功能,在/etc/init.d文件夾中的rcS文件末尾添加如下代碼自動獲取IP。如果採用自動獲取IP的形式,最後採用手動的方式掛載網絡文件系統。

/sbin/udhcpc &

當然也可以在該文件中添加以下代碼是開發板具有一個固定的ip:

sudo ifconfig eth0 XXX.XXX.XXX.XXX
mount -t nfs -o nolock yyy.yyy.yyy.yyy:/nfs /mnt

此處的XXX代表arm開發板的ip,yyy代表主機IP(虛擬機IP)。第二句代碼的意思是將主機的/nfs文件夾掛載到開發板的/mnt目錄下。

三、RS485測試

在虛擬機上,利用交叉編譯工具編譯app源碼,將RS485測試的app源碼、腳本,拷貝至虛擬機內,並編譯:

arm-histbv320-linux-gcc uart_app.c -o uart_app

將生成的uart_app、腳本文件拷貝至/nfs文件夾下:

sudo cp uart_app uart_r.sh uart_w.sh /nfs/

開發板中運行./uart_w.sh以便測試485發送,可得到以下結果:

運行./uart_r.sh測試485接收,可得到以下結果:

至此485測試完畢!

附錄

uart_r.sh的源代碼

#############################################################
#                     Hi3798 RS485 Test                     #
#author     :  TanZhenwen                                   #
#date       :  2018.12.07                                   #
#ver        :  1.0                                          #
#############################################################

########## Baseaddr            0xf8a21000           #########
#############################################################
#Function           GPIO       IO    Offset    Value        #
#485 TX/RX EN       GPIO3_0    24    0x060   0x00002134	    #
#485 RX             GPIO2_5    21    0x054   0x00000132	    #
#485 TX	            GPIO2_6    22    0x058   0x00000132	    #
#############################################################


devmem 0xf8a21060 w 0x00002134
devmem 0xf8a21054 w 0x00000132
devmem 0xf8a21058 w 0x00000132

rm /var/lock/* -r
echo 24 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio24/direction
echo 0 > /sys/class/gpio/gpio24/value
./uart_app /dev/ttyAMA2 -b 19200 -l -r -hex

uart_w.sh的源代碼

#############################################################
#                     Hi3798 RS485 Test                     #
#author     :  TanZhenwen                                   #
#date       :  2018.12.07                                   #
#ver        :  1.0                                          #
#############################################################

########## Baseaddr            0xf8a21000           #########
#############################################################
#Function           GPIO       IO    Offset    Value        #
#485 TX/RX EN       GPIO3_0    24    0x060   0x00002134	    #
#485 RX             GPIO2_5    21    0x054   0x00000132	    #
#485 TX	            GPIO2_6    22    0x058   0x00000132	    #
#############################################################

devmem 0xf8a21060 w 0x00002134
devmem 0xf8a21054 w 0x00000132
devmem 0xf8a21058 w 0x00000132
rm /var/lock/* -r
echo 24 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio24/direction
echo 1 > /sys/class/gpio/gpio24/value
./uart_app /dev/ttyAMA2 -b 19200 -l -w "123456" -asc

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章