NVIDIA Xavier UART
文章目录前言40-Pin扩展口中的UARTpyserial调试串口微信公众号前言Nvidia Xavier GPIO 输入输出 中断 PWM上节总结了40-Pin扩展口中GPIO的应用, 本节介绍一下UART的应用. Xavier引出5路串口, 参考前篇Nvidia Jetson AGX Xavier 硬件相关中的UART一小节.40-Pin扩展口中的UART40-Pin扩展口中引出...
文章目录
前言
Nvidia Xavier GPIO 输入输出 中断 PWM
上节总结了40-Pin扩展口中GPIO的应用, 本节介绍一下UART的应用. Xavier引出5路串口, 参考前篇Nvidia Jetson AGX Xavier 硬件相关 中的UART一小节.
40-Pin扩展口中的UART
40-Pin扩展口中引出的是UART1
, 对应引脚为 8 -- UART1_TX
, 10--UART1_RX
.Xavier
打开终端, 输入 ls /dev/tty*
, 其中的 /dev/ttyTHS0
就是这个UART1
.
很多人会用minicom
, 安装: sudo apt install minicom
也有图形界面的 cutecom
, 安装: sudo apt install cutecom
这里用cutecom
来测试, 打开cutecom
: sudo cutecom
, Device
选择/dev/ttyTHS0
, 其他参数默认(115200@8-N-1), 点击Open
:
找一个CH340
的USB转串口TTL小板
, 电压选择3.3V, 连接如下:
CH340 | Xavier 40-Pin扩展口 |
---|---|
RXD | Pin8(UART1_TX) |
TXD | Pin10(UART1_RX) |
GND | GND |
如图所示:
这个小板子USB连接到主机上, ls dev/tty*
, 会发现多出一个/dev/ttyUSB0
的设备, 就是它了, 同样主机上sudo cutecom
, 这里Device
选择/dev/ttyUSB0
, 点击Open
:
主机的Input框中输入abcdefghijklmnopqrstuvwxyz
, 打回车, 可以看到Xavier中收到了这条信息, 然后Xavier中Input框输入0123456789
, 回车, 可以看到主机中也收到了:
测试通过, 在Cutecom中Close, 关掉窗口.
本小节知道了40-Pin中的UART1设备名是 /dev/ttyTHS0
, 那编程就简单了, 不论是C, C++, Python 或者是ROS环境, 只要找相应的serial操作方法就可以了, socket
, pyserial
或者ros中的serial
. 下面以Python
中的pyserial
为例.
pyserial
pyserial
文档参考: https://pyserial.readthedocs.io/en/latest/index.html
在Xavier
中安装pyserial
:
sudo pip3 install pyserial
写一个简单的uart_echo.py
例程:
import serial
ser = serial.Serial("/dev/ttyTHS0", 115200) # uart init @115200-8-N-1
def ser_line_echo():
while True:
line = ser.readline() # wait b'\n'
ser.write(line) # send data
print(line)
if __name__ == '__main__':
try:
if ser.is_open == False:
ser.open() # open uart
ser_line_echo()
except KeyboardInterrupt: # Ctrl+C
if ser != None:
ser.close() # Close Port immediately
保存, sudo python3 uart_echo.py
运行, 这次我们CH340
小板插到Windows
电脑测试, 使用sscom
, 发送百万字节不丢数:
常用api参考文档中的 pySerial API. 最基本的如下:
- 打开串口:
open()
- 关闭串口:
close()
- 读一定字节:
read(size=1)
- 读直到某字节出现:
read_until(expected=LF,size=None)
- 写数据:
write()
还有些属性的获取及其他操作的api去文档中看吧.
调试串口
Xavier 插上USB Type-C线连接主机, Windows
为例, 打开这个串口, 然后接收框中打个回车, 可以看到类似于ssh
方式登录的样子, 输入Xavier
的用户名和密码, 就可以当ssh
登录一样使用:
微信公众号
欢迎扫描二维码关注本人微信公众号, 及时获取或者发送给我最新消息:
更多推荐
所有评论(0)