Gast
#410883
Hallo
Habe ein komisches Phänomen mit meinen MEGA 128.
Habe an UART0 eine GPS Empfänger und an UART 1 EINEN AUSGANG zum PC.
Über die UART0 hohle ich die GPS DATEN und Verarbeite diese und über
UART1 gebe ich sie wieder aus mit 4800 Baud.
wenn ich Hyperterminal aufmache mit 4800,8n1 dann kommt nichts.
Wenn ich den HTERM öffne kommt erst das
þþÿÿþþþþóüþþ¾þþ~þþÿþþÿÿ¾þÿþþÿøüüþþ~þþ~þþþ~þþþþþþþ~þþÿìþþþ~þ~þþþ¾ÿþÿ~þ
þþ~þüüÇsÿÿþþÿ~Ê~~ÿÿÿÿùùþ~~~þ~þþnþüü~þÿÎþ~óþ~,Ïþþ~þþâ~~ÿþþþ~þþóÿÿ~þþò
þ~þ~þþþ¾~~þ~þüüüüþþþÿþþþÎ~þþþùþþþÿþÎ~îù~þþrþ~þ~~þÿ¾~ê~~ì~þþþ~ÿüü
ÿܯøÿÿ~þbþþ~þ~~bbb~~ÿÿ¯þrþì
b~þ~þ~¤DéÕÔ\<ÿ΢r¾Â~ªÊr¢Âʾ~r±Ã~þªb*ÅbþbªrbòÂr²bj±óºr
êbj±ÃrbþR¢²j¤|®Ôª(KP,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GðRMC,093141.628,A,5119.<8NÉ
r¾b*±rʲb~ªÂb¢þ¾bbrj¼|éÕÔT8
S¢r²ÂbªÊr¢Êbr±r¢b*,Lß3,50.0ì228.6,M,47.5,M,0.0,0000*48
üüüÿìÿ~þ~þ~òÊb~~ÿÿÿùÿù~~þr~æ~þþjþü~þÿþþâ~¾þ~þ¹SS¦çSâ~rùþþrþþ
þ~qßL s~þþ~¢bò¢þ¾bbR:
$ÇpÇ\ü S¢¢r²þÂbªÊrþÊþâbrÅþþrò¾þb*±ÏbþbMÌ
bþrº~nÿ¢ºrªbjÅþrbþR¢25>>pGSA,A,2,1bþbÊbbbbb~bbbbªrb®rbrR
jüüÇPRMC,0ΦnO628,A,5119.4904,N,011râ¢b*Årò¾brªbâ²bbRÊj
¤DéÕÔT(
Sâ®r²ÂbªÊr¢Ê¾br±Ãr¢b*±bbªrbÂrºbn±óºrªbj±rbR¢Êj
¤|ªÔª(KP,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
üüÇþð9yóùþ~28,æbbb~~b~~~~ªr~®rb~þ~þþj¼Dé×Ü+Ibbþbþ29,3&IÂÂb²b
¾bb²bbbbbbbºb¢bRººj¤DéUj
S¢ºr²Âb±ªÊr¢ÊÂbr±Ãr¢ºb*Årbrªºb¢Â²bbRºj¤DéÕÔT(
S¢Âr²ÂbªÊr¢ÊbrÅrªb*ÅbbªrbÂrÂbj±¢ºrªbj±rbR¢Õ
¤øGPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
üªÜT<
S¢Êr²ÂbªÊr¢Êªbr±rªªb*±bbªrbÂrÂbj±¢ºrªbj±rbR¢"5
R>IªÔª(KP,10,28,29,,,,,,,,,,50.0,50.0,&n j¤DéÕÔT(
ʪr²ÂbªÊr¢ÊbrÅr²b*±bbªrbÂrÂbj±óºrªbjÅrbR¢¢j
¤|ªÔª(KP,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GPGGA,093151.628,5119.4923,N,01102.0265,E,1,03,50.0,228.9,M,47.5,M,0.0,
0000*43
$GPGGA,093152.628,5119.4925,N,01102.0266,E,1,03,50.0,228.9,M,47.5,M,rb
R¢ªj¤|ªÔª(KPß,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GPGSV,2,1,08,08,81,093,36,10,65,245,47,27,51,063,33,28,33,151,36*70
$GPGSV,2,2,08,29,32,288,36,26,22,286,29,13,12,100,00,21,07,334,00*7F
$GPRMC,093152.628,A,5119.4925,N,01102.0266,E,1.19,221.12,240806,,*06
$GPGGA,093153.628,5119.4926,N,01102.0267,E,1,03,50.0,228.9,M,47.5,M,0.0,
0000*46
$GPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
<GPGGA,093155.628,5119.4933,N,01102.0274,E,1,03,50.0,229.0,M,47.5,M,0.0,
0000*4E
$GPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GPGGA,093156.628,5119.4940,N,01102.0282,E,1,03,50.0,229.0,M,47.5,M,0.0,
0000*40
$GPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
<GPGGA,093157.628,5119.4948,N,01102.0292,E,1,03,50.0,229.1,M,47.5,M,0.0,
0000*49
$GPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GPGSV,2,2,08,29,32,288,36,26,22,286,29,13,12,100,00,21,07,334,00*7F
$GPRMC,093157.628,A,5119.4948,N,01102.0292,E,0.89,221.08,240806,,*00
$GPGGA,093158.627,5119.4955,N,01102.0300,E,1,03,50.0,229.1,M,47.5,M,0.0,
0000*4F
$GPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
<GPÇSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GPGGA,093200.627,5119.4976,N,01102.0326,E,1,03,50.0,229.3,M,47.5,M,0.0,
0000*46
$GPGSA,A,2,10,28,29,,,,,,,,,,50.0,50.0,20.0*01
$GPGGA,093201.627,5119.4987,N,01102.0342,E,1,03,50.0,229.4,M,47.5,M,0.0,
0000*4C
die Baud berechne ich wie folgt
baudrate=4800
cpuclock 16000000
baud=cpuclock/((baudrate*16L)-1);
Meine UARTS initilaieser ich wie folgt
baud0=cpuclock/((baudrate*16L)-1);
bgaud1=cpuclock/((baudrate*16L)-1);
void init_rs232(unsigned int baud0,unsigned int baud1)
{
UBRR0H= (unsigned char)(baud0>>8);
UBRR0L = (unsigned char) baud0;
UCSR0A = 0x00; /* USART operates at normal speed */
UCSR0B = ( (1<<RXCIE) | (1<<RXEN)); /* Enable receiver */
UCSR0C = ( (0<<UMSEL) | /* Configure for asynchronous operation */
(0<<UPM1) | /* No parity */
(0<<UPM0) |
(0<<USBS) | /* 1 stopbit */
(1<<UCSZ1) | /* 8 data bits */
(1<<UCSZ0));
UBRR1H= (unsigned char)(baud1>>8);
UBRR1L = (unsigned char) baud1;
UCSR1A = (1 << RXC1) | (1<<TXC1);
UCSR1B=(1<<RXEN) | (1<<TXEN);
UCSR1C = (1 << UCSZ10) | (1 << UCSZ11);
}
kann es sein das mein Externer 16MHz Quarzt spinnt oder nicht genau
taktet???
FUSE BITE ist auf 1111 für extern Clock getetzt.