NVIDIA Jetson Xavier NX使用UART进行串口通信

NVIDIA Jetson Xavier NX使用UART进行串口通信

一. NVIDIA Jetson Xavier NX的40pin接口

  1. NVIDIA Jetson Xavier NX开发板俯视图:NVIDIA Jetson Xavier NX使用UART进行串口通信_第1张图片2.开发板上打印出的UART接口有2对,(1)J12的8和10接口(/dev/ttyTHS0);(2) J14的3和4接口(/dev/ttyTCU0)
    (1). 接口J12为NVIDIA Jetson Xavier NX的40pin为示意图NVIDIA Jetson Xavier NX40pin接口图NVIDIA Jetson Xavier NX使用UART进行串口通信_第2张图片
    其中8和10接口分别为:UART1_TX和UART1_RX
    NVIDIA Jetson Xavier NX使用UART进行串口通信_第3张图片
    (2). J14的3和4接口(/dev/ttyTCU0)
    NVIDIA Jetson Xavier NX使用UART进行串口通信_第4张图片 NVIDIA Jetson Xavier NX使用UART进行串口通信_第5张图片

二. NVIDIA Jetson Xavier NX串口通信设置

  1. 关于环境:安装串口函数库,终端执行下面的命令(如果使用的是官方镜像,已安装):
sudo pip3 install pyserial
  1. 关于代码(使用UART收发数据):
    (1). 导入串口库
import serial as ser

(2). 设置使用的引脚端口、波特率等

se = ser.Serial("/dev/ttyTHS0", 9600) #J12的8和10接口(/dev/ttyTHS0)

或者

se = ser.Serial("/dev/ttyTCU0", 9600) # J14的3和4接口(/dev/ttyTCU0)

NVIDIA Jetson Xavier NX使用UART进行串口通信_第6张图片
默认波特率9600,数据位8位,校验位None,停止位1位等。

如果出现下面的错误:

Serial Exception: [Errno 13] could not open port /dev/ttyTHS1: [Errno 13] Permission denied: '/dev/ttyTHS0'

这是因为没有权限,使用下面的命令设置其权限为可读可写可执行

sudo chmod 777 /dev/ttyTHS0

(3). 使用write函数进行数据的发送(注意发送类型是字节,因此需要使用encode()函数进行转换)

se.write("字符串".encode())

关于读写串口数据等,请参考博客:Jetson nano串口的使用——UART(致谢博主)

你可能感兴趣的:(Jetson,Xavier,NX,单片机,物联网,linux)