TX2主板介绍
首先需要阅读上一篇有关TX2 GPIO控制相关的文章来对主板的结构和接口进行初步了解并下载相应的开发资料。TX2 GPIO开发介绍
其中TX2主板上主要实验所用到的串口接口有J17处的ttyTHS2和J21处的ttyTHS1接口。
软件控制
对TX2进行串口控制方法有通过C和shell脚本俩种控制方式:
C控制串口通讯
C控制串口通讯的方式主要涉及到的是对termios结构体的配置,该结构体中主要是对串口各项功能的配置设置。
struct termios
{
unsigned short c_iflag; // 输入模式标志
unsigned short c_oflag; // 输出模式标志
unsigned short c_cflag; // 控制模式标志
unsigned short c_lflag; //区域模式标志或本地模式标志或局部模式
unsigned char c_line; //行控制line discipline
unsigned char c_cc[NCC]; // 控制字符特性
};
接下来是对串口输入输出波特率的配置
cfsetospeed(&tty, (speed_t)speed);
cfsetispeed(&tty, (speed_t)speed);
待主要的配置完成之后对串口进行设置
tcsetattr(fd, TCSANOW, &tty)
以上是对串口进行配置的过程,接下来是实现串口读写功能。
在操作串口读写之前首先要打开串口文件
fd = open(portname, O_RDWR | O_NOCTTY | O_SYNC);
读写操作直接调用unistd.h中的函数进行。
write(fd, "Hello!\n", 7);
read(fd, buf, sizeof(buf) - 1);
shell串口控制
除了通过C对TX2的串口进行控制外还可以通过shell对串口进行控制操作。
sudo stty -F /dev/ttyUSB* -a
查看串口的参数信息,通过对串口参数进行配置。
通过 echo进行串口输出操作,通过cat进行串口输入信息查看操作。
对应的源码程序下载链接TX2 串口控制程序