本文所讲述的是基于NVIDIA TX2的串口通讯,通讯的设备为NVIDIA TX2和GPS信号接收芯片模块。如下图所示是该芯片的示意图:
1、首先先画出该GPS信号接收芯片与TX2开发板的连接示意图,如下图所示:
切记,J17_1表示J17模块的1接口,表示接地;因此J17模块的引脚从上往下依次是6-1接口,千万不要接反了!!!
2、接下来就是串口通讯,直接上代码。
2.1采用Linux的可函数进行串口通讯
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <termios.h>
#include <errno.h>
#include <time.h>
#include <string.h>
#include "fun.h"
#define TRUE 1
#define FALSE 0
int speed_arr[] = { B38400, B19200, B9600, B4800, B2400, B1200, B300, //波特率设计
B38400, B19200, B9600, B4800, B2400, B1200, B300, };
int name_arr[] = {38400, 19200, 9600, 4800, 2400, 1200, 300,
38400, 19200, 9600, 4800, 2400, 1200, 300, };
char *freq[]={ //改变GPS芯片的接受数据模式(可以不用在意)
"B5 62 06 08 06 00 20 4E 01 00 01 00 84 00 B5 62 06 08 00 00 0E 30",
"B5 62 06 08 06 00 10 27 01 00 01 00 4D DD B5 62 06 08 00 00 0E 30",
"B5 62 06 08 06 00 88 13 01 00 01 00 B1 49 B5 62 06 08 00 00 0E 30",
"B5 62 06 08 06 00 B8 0B 01 00 01 00 D9 41 B5 62 06 08 00 00 0E 30",
"B5 62 06 08 06 00 E8 03 01 00 01 00 01 39",
"B5 62 06 08 06 00 C8 00 01 00 01 00 DE 6A B5 62 06 08 00 00 0E 30",
"B5 62 06 08 06 00 64 00 01 00 01 00 7A 12 B5 62 06 08 00 00 0E 30",