求解GPS连上UNO读不出数据(内部情况详细)
环境:ARDUINO UNOUBLOXENO-6Q模块现象1:给GPS模块上电3.3V。用示波器测试TX端,可以看到出现波形,TTL电平正常。
使用测试代码:
int ledpin = 13;
char line = "";
int byteGPS=0;
void setup()
{
pinMode(ledpin, OUTPUT);
// Serial1.begin(9600); // 启用串口2,连接GPS
Serial.begin(9600);
for (int i=0;i<500;i++)
{
line=' ';
}
}
void loop()
{
digitalWrite(ledpin, LOW);
byteGPS = Serial.readBytesUntil('\r', line, 500); // 读取GPS一行数据
if (byteGPS == 0)
{
delay(100);
}
else
{
digitalWrite(ledpin, HIGH);
Serial.println(line); // 从串口显示
delay(100);
}
}
问题1:打开串口,没看到任何数据,请问是不是在室内的原因,但是TTL的波形还是有的,13脚LED也不闪烁。
问题2:为什么GPS的TX在室内发的是握手的数据吗??
对调一下tx 和rx 试试 gps的3.3v和Arduino的5v要进行电平转换才能通信,两者之间加个转换板吧。 bg9cxn 发表于 2013-11-15 20:23 static/image/common/back.gif
gps的3.3v和Arduino的5v要进行电平转换才能通信,两者之间加个转换板吧。
不需要的。arduino可以兼容3.3V电平 没有定义GPS的接口 一般情况下, GPS模块上电后就直接输出NMEA语句了, 先别接Arduino,用协议分析仪或者示波器看GPS的输出, 再接Arduino分析串口通信。 serial1.readBytesUntil(.......
页:
[1]