我调通了,89c2051的txd(3脚)需要接一个反向器才能接tinytrak的rxd。请看图,中间的一个led亮代表gps数据有效,我的gps模拟器使该led一直保持亮。
我的gps模拟器源程序(很简单,不许笑!)
//gps simulator by bd6cr for tinytrak i, ii, iii debugging
//keil c51
//txd (pin 3 of at89c2051) should be inverted to connect tinytrak
#include <at892051.h>
#include <stdio.h>
void serialinit() {
ea = 0;
scon = 0x50; /* scon: mode 1, 8-bit uart, enable rcvr */
tmod |= 0x20; /* tmod: timer 1, mode 2, 8-bit reload */
th1 = 250; /* th1: reload value for 4800 baud @ 11.059mhz */
tr1 = 1; /* tr1: timer 1 run */
ti = 1; /* ti: set ti to send first char of uart */
}
//main goes here
main()
{
serialinit();
while (1) {
printf("$gprmc,120757,a,5152.985,n,00205.733,w,000.0,349.4,230100,004.1,w*78\n");
printf("$gpgga,120757,5152.985,n,00205.733,w,1,06,2.5,121.9,m,49.4,m,,*52\n");
}
}
'
这不是个完整的gps,只有gprmc和gpgga,所以只需要对串口初始化成4800 8n1,然后不断printf一句gprmc和一句gpgga就行了,不过我还没有和tinytrak调通。
'