GPS Шилд - скетч из примера не компилируется
- Войдите на сайт для отправки комментариев
Чт, 14/05/2015 - 09:47
Господа, доброго всем дня!
Две недели как осваиваю Адруино,
дошло время до GPS модуля и вот засада - скетч из мримера не компилируется, выдает
'BYTE' was not declared in this scope - что за BYTE и как его задекларировать ?
#include <SoftwareSerial.h> // Constants #define rxPin 9 //rx pin in gps connection #define txPin 8 //tx pin in gps connection // set up the serial port SoftwareSerial gps = SoftwareSerial(rxPin, txPin); // variables byte byteGPS = 0; int i = 0; int h = 0; // Buffers for data input char inBuffer[300] = ""; char GPS_RMC[100]=""; char GPS_GGA[100]=""; void setup(){ //setup for mySerial port pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); gps.begin(4800); //setup for Serial port Serial.begin(19200); delay(1000); } void loop(){ // Read the RMC sentence from GPS byteGPS = 0; byteGPS = gps.read(); while(byteGPS != 'R'){ byteGPS = gps.read(); } GPS_RMC[0]='$'; GPS_RMC[1]='G'; GPS_RMC[2]='P'; GPS_RMC[3]='R'; i = 4; while(byteGPS != '*'){ byteGPS = gps.read(); inBuffer[i]=byteGPS; GPS_RMC[i]=byteGPS; i++; } // Read GGA sentence from GPS byteGPS = 0; byteGPS = gps.read(); while(byteGPS != 'A'){ byteGPS = gps.read(); } GPS_GGA[0]='$'; GPS_GGA[1]='G'; GPS_GGA[2]='P'; GPS_GGA[3]='G'; GPS_GGA[4]='G'; GPS_GGA[5]='A'; i = 6; while(byteGPS != '*'){ byteGPS = gps.read(); inBuffer[i]=byteGPS; GPS_GGA[i]=byteGPS; i++; } // print the GGA sentence to USB Serial.print("GGA sentence: "); h = 0; while(GPS_GGA[h] != 42){ Serial.print(GPS_GGA[h],BYTE); h++; } Serial.println(); // print the RMC sentence to USB Serial.print("RMC sentence: "); h = 0; while(GPS_RMC[h] != 42){ Serial.print(GPS_RMC[h],BYTE); h++; } Serial.println(); }
Версия IDE и полный текст ошибки? Он не на весь текст ведь ссылается, а на конкретную строку.
две конкретные строки 102 и 111
Вместо Serial.print(GPS_GGA[h],BYTE) поставьте Serial.write(GPS_GGA[h]) и во втором случае тоже.
Благодарю - ошибка исчезла, но теперь в монитор не выводятся данные, копать в сторону вывода данных
Еще вопрос: какая дуина используется. Надо ли софт сериал?
В мониторе может быть абракадабра. В программе предполагалось преобразование символа в число (возврат кода символа). Попробуйте прямое преобразование:
Опирался на описания типов:
http://arduino.ru/Reference/Char
http://arduino.ru/Reference/Byte