Befehl an GPS Modul senden

Gast #1419269
Lesenswert?

Hallo,

kann mir bitte jemand erklären wie ich die Updatefrequenz des NL-507ETTL 
von 1 auf 4 Hz erhöhen kann?

Im Datenblatt findet man auf Seite 7 folgendes um die Updatefrequenz auf 
4 Hz zu erhöhen;
1
unsigned char DiableGLL [] = {"$PUBX,40,GLL,0,0,0,0*5C\x0D\x0A"};
2
unsigned char DiableGSV [] = {"$PUBX,40,GSV,0,0,0,0*59\x0D\x0A"};
3
unsigned char DiableVTG [] = {"$PUBX,40,VTG,0,0,0,0*5E\x0D\x0A"};
4
unsigned char DiableZDA [] = {"$PUBX,40,ZDA,0,0,0,0*44\x0D\x0A"};
5

6
unsigned char Rate 4Hz[] =
7
{0xB5,0x62,0x06,0x08,0x06,0x00,0xFA,0x00,0x01,0x00,0x00,0x00,
8
0x0F,0x94};


Ich habe jetzt versucht die Daten einfach an das GPS Modul zu senden, 
also
1
USART_Transmit_String("$PUBX,40,GLL,0,0,0,0*5C\x0D\x0A");
usw....


An der Updatefrequenz hat sich nichts getan. Auch die GLL, GSV... werden 
weiterhin vom Modul gesendet. Hat jemand eine Idee?

Danke.
Angehängte Dateien:
Gast #1419610
Lesenswert?

Hallo, danke für die Hilfe.

Wenn ich es als String versende macht er ja nichts anderes als ein Byte 
nach dem anderen zu versenden.

[c]void USART_Transmit_String(char *str)
{
  int8_t i=0;
  while(str[i])
  {
    USART_Transmit(str[i]);
    i++;
  }
}


void USART_Transmit( unsigned char data )
{
  /* Wait for empty transmit buffer */
  while ( !( UCSRA & (1<<UDRE)) );
  /* Put data into buffer, sends the data */
  UDR = data;
}


void USART_Init( unsigned int baud )
{
  /* Set baud rate */
  baud = F_CPU/((int32_t)16*baud)-1;
  UBRRH = (unsigned char)(baud>>8);
  UBRRL = (unsigned char)baud;
  /* Enable receiver and transmitter */
  UCSRB = (1<<RXEN)|(1<<TXEN);
  /* Set frame format: 8data, 1stop bit */
  UCSRC = (1<<URSEL)|(3<<UCSZ0);
}[/]


Es ändert sich leider nichts. Muss ich vor jeder Nachricht eine Art 
Header mitschicken? Im Datenblatt steht dazu nichts.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren