Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <avr/io.h>
- #include <string.h>
- #include <avr/interrupt.h>
- #include <avr/signal.h>
- #include <avr/pgmspace.h>
- #include <util/delay.h>
- #include "lcd.h"
- #include "uart.h"
- #ifndef F_CPU
- #define F_CPU 16000000
- #endif
- #define UART_BAUD_RATE 4800 //Baud = 4800
- #define LENGTH 7 //Textl�nge ab welcher Empfangen beendet wird
- int main(void)
- {
- uint8_t i;
- char c;
- char* s;
- char string[LENGTH];
- char gpgga[] = "$GPGGA";
- uart_init(UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU));
- sei();
- lcd_init(LCD_DISP_ON);
- lcd_clrscr();
- lcd_home();
- lcd_puts("Bereit");
- i = LENGTH;
- while(1)
- {
- c = uart_getc();
- if(c == '$')
- {
- i = 1; //i'tes Zeichen. dh (i-1) Zeichen bereits empfangen
- s = string;
- }
- if(i < LENGTH)
- {
- *s = c;
- s++;
- i++;
- }
- if(i == LENGTH)
- {
- *s = 0x00; //terminierung
- if(strcmp(gpgga, string) == 0)
- {
- lcd_clrscr();
- lcd_home();
- lcd_puts(string);
- _delay_ms(300);
- }
- else
- {
- lcd_clrscr();
- lcd_home();
- lcd_puts("Noe");
- _delay_ms(300);
- }
- i++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement