Forum: Mikrocontroller und Digitale Elektronik UART Streikt?


von Daniel S. (sany)


Lesenswert?

Hallo,

Ich hab ein kleines UART Problem mit einem AtMega1815 und einem Externen 
16 MHz Quarz mittels 2x 22PF Kondensatoren gegen GND.

Als Lib die UART von Fleury, der Code:
1
int main(void)
2
{
3
  uart_init( UART_BAUD_SELECT(57600,16000000) );
4
   
5
  sei();
6
7
  const char *text1 = "\f\a\n Diagnose Mobile Terminal V0.1 \r\n";
8
  const char *text2 = "** Kernel: 0.0.0.1\r\n";
9
  const char *text3 = "** Firmware: 0.0.0.1\r\n";
10
11
  uart_puts(text1);
12
  _delay_ms(1000);
13
  uart_puts(text2);
14
  _delay_ms(1000);
15
  uart_puts(text3);
16
  _delay_ms(1000);
17
  uart_puts("OK\r\n");
18
}

So beim Starten krieg ich folgendes:
1
 Diagnose Mobile Terminal V0.1 <\r><\n>

Ab dann hörts auf...

Meine eingestellten Fuses: LOW: 0xD9 / High: 0xFF

Danke :-)

mfg
sany

von Huch (Gast)


Lesenswert?

Pushen wird hier als unhöflich empfunden.
Kannst Du bitte erstmal die Rückfrage hier 
Beitrag "AtMega ehwiges Fuse Thema 16 Mhz Quarz" beantworten? Das 
wäre sehr entgegenkommend.

von Karl H. (kbuchegg)


Lesenswert?

Zum letzten Posting in deinem anderen Thread.
Wie alt ist deine Toolchain.

Zu deinem Pgm hier:
Du hast immer noch keine Endlosloop in der main().
Und nein, es ist nicht egal ob du eine hast oder nicht.
Wenn du aus der main() rausfällst werden von der C-Runtime die 
Interrupts abgeschaltet.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.