Damic
Ben Belg sowat :D :: plaatjes zijn meestal klikbaar
*Uart0 naar Uart1
Heb hier een gps module aan een avr (atcan64) hangen en krijg de data binnen via uart0, deze steek ik via interrupt in een char, dan zend ik wat er in die char zit op uart1 (dit als echo) maar dan krijg ik niet wat ik van de gps module ontvang te zien op Realterm.
Als ik de Txd van de gps module direct uitlees krijg ik het volgende:
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,00*79
$GPGLL,,,,,,V,N*64
$GPRMC,,V,,,,,,,,,,N*53
$GPVTG,,,,,,,,,N*30
$GPGGA,,,,,,0,00,99.99,,,,,,*48
zoals je kunt zien heb ik geen fix maar krijg ik wel data binnen en het volgende ontvang ik op de uart1
€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
€€€€€€€€€€€€€€€€€€€€€€€€€€€€€
De uart lib dat ik gebruik is van hier tezamen met de NMEA lib: https://code.google.com/p/avr-nmea-gps-library/source/browse/avr-nmea-…
mon code:
#define F_CPU 8000000UL
#include "u8g.h"
#include "u8g_com_i2c.c"
#include <avr/io.h>
#include <util/delay.h>
#include <compat/twi.h>
#include "uart.cpp"
#include "nmea.cpp"
NMEA nmea;
UART usart0,usart1;
ISR(USART0_RX_vect)
{
volatile char c = UDR0; //Read the value out of the UART buffer
nmea.fusedata(c);
//if ((PORTA & _BV(PA1))==0) { PORTA |= _BV(DDA1); } else {PORTA &= ~_BV(DDA1); }
usart1.Send(c);
}
int main(void)
{
CLKPR=0x80;
DDRA=0b00000010;
PORTA=0x00;
usart0.Init(0,9600,true);
usart1.Init(1,9600,true);
//init oled display
while(1)
{
//oled en nmea dingen
}
}Iemand een idee in welke richting ik moet zoeken?
Dank bij voorbaat Damic
rudig76
Even iets anders www.echteworst.nl
Na
// weg niet nodig
komt binnen de lus nog een keer
// weg niet nodig voor
Maar die had een regel lager moeten staan ivm met de }
Beetje lastig uitleggen, hopelijk is het te begrijpen als je in de code kijkt
Damic
Ben Belg sowat :D :: plaatjes zijn meestal klikbaar
@Pertinax: Instikkertje he 
Als ik die init niet doen dan heb ik ook niets op de poorten, dus dat gaat wel goed. Ook als ik UDR1 = c of UDR1=UDR0 doen dan zien ik data voorbij komen. Ergens een init dat faalt 
@Rudig76: daar staan dingen die met nmea en de oled te maken heeft, heb het aangepast 
Update: heb de originele maker van die uart lib eens een mailtje gestuurd, eens zien wat ie zegt 
[Bericht gewijzigd door Damic op (14%)]