#include #include #include #include #define GPS_DEV "/dev/ttySAC1" #define GPS_SYNC "\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80\x80" #define GPS_INIT "\xff\x0c\xfd\xc0\x00\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" \ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" int main(int argc, char *argv[]) { int fd; struct termios t; char buf[512]; char *p; int n; fd = open(GPS_DEV, O_RDWR|O_NOCTTY); ioctl(fd, TCGETS, &t); cfsetospeed(&t, B115200); cfmakeraw(&t); t.c_cflag &= ~CRTSCTS; ioctl(fd, TCSETS, &t); write(fd, GPS_SYNC, 16); write(fd, GPS_INIT, 64); n = read(fd, buf, sizeof(buf)); printf("(%d) \n", n); p = buf; while (n--) printf("%02x ", *p++); printf("\n"); }