NVIDIA Jetson Xavier NX使用UART进行串口通信
一. NVIDIA Jetson Xavier NX的40pin接口
- NVIDIA Jetson Xavier NX开发板俯视图: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接口图
其中8和10接口分别为:UART1_TX和UART1_RX
(2). J14的3和4接口(/dev/ttyTCU0)
二. NVIDIA Jetson Xavier NX串口通信设置
- 关于环境:安装串口函数库,终端执行下面的命令(如果使用的是官方镜像,已安装):
sudo pip3 install pyserial
- 关于代码(使用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)
默认波特率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(致谢博主)