UART

XNIUPI串口

XNIUPI-R系列开发板通过40PIN GPIO扩展接口对外提供4个UART串口(3.3V电平)。接口示意图如下:

查看串口设备

执行命令查看终端设备

ls /dev/tty*

串口通讯测试

连线

实验前需要使用串口线或USB转串口线把它与板卡与电脑连接起来。

开发板

Windows PC

TXD

RXD

RXD

TXD

GND

GND

查看串口通信参数

可以使用stty工具查询其通信参数,比如现在使用UART1(对应ttyS1),在开发板/开发主机执行如下命令:

stty -F /dev/ttyS1

显示如下信息:

speed 115200 baud; 0 line = 0
-brkint -imaxbel

备注:

  • 115200:波特率

  • 0 line = 0:表示当前没有数据传输

  • -brkint:表示当输入中断字符时,产生SIGINT信号

  • -imaxbel:表示当输入^C字符时,产生SIGINT信号

修改串口波特率

 #设置通讯速率,其中ispeed为输入速率,ospeed为输出速率
 stty -F /dev/ttyS3 ispeed 115200 ospeed 115200

关闭回显

默认串口是开启回显的 可以使用以下命令关闭回显

stty -F /dev/ttyS3 -echo

与Windows主机通讯

配置好串口调试助手后,尝试使用如下命令测试发送数据:

#在板卡上的终端执行如下指令
#使用echo命令向终端设备文件写入字符串"Hello!"、"I'm lubancat"
echo Hello! > /dev/ttyS3
echo "I'm lubancat" > /dev/ttyS3
#Windows上的串口调试助手会接收到内容

可以看到,往/dev/ttyS3设备文件写入的内容会直接通过串口线发送至Winodws的主机。 而读取设备文件则可接收Winodws主机发往板卡的内容,可以使用cat命令来读取:

#在板卡上的终端执行如下指令
#使用cat命令读取终端设备文件
cat /dev/ttyS3
#cat命令会等待
#使用串口调试助手发送字符串
#字符串最后必须加回车!
#板卡的终端会输出接收到的内容