mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem Mega 8 Rs232


Autor: Herrmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Habe folgendes preoblem

Mega 8 sendet alle 5 sekunden per funk ein signal dieses leigt auch am 
tx port an.

Alles sowit so gut.

Ist mein Max 232 Modul gesteckt und mit dem PC Verbunden läuft die 
Hardware durch ohne Probleme Tage und Wochenlang.
Ist es Abgesteckt (max232 Modul) läuft die Hardware ca 20min und dann 
stürtz er ab und hängt im wald.

Kann man da was ändern????

Ist das Normal.

C Code

#define BAUD_RATE 4800
#define SYSCLK  16000000


// RS232 INIT
void init_rs232(void)
{

UCSRB= ((1<<RXCIE)|(1<<RXEN) | (1<<TXEN));
UBRRL=(SYSCLK / (BAUD_RATE * 16L) - 1);


  }


void send_UART(char *s)
{
 while (*s)
    {   /* so lange *s != '\0' also ungleich dem "String-Endezeichen" */
      loop_until_bit_is_set(UCSRA, UDRE);
 UDR=(*s);
        s++;
    }


im code

sage ich

sprintf(tx_buffer,"$Zeichenfolge %d %d %d",wert1,wert2,wert3);
send_UART(&tx_buffer[0]);

Danke schon mal

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ja mal ein magerer Quellcode. Ich sehe hier keine Fehler, aber 
einen Haufen Problemquellen in dem nicht sichtbaren Quellcode.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Herrmann (Gast)

>Ist mein Max 232 Modul gesteckt und mit dem PC Verbunden läuft die
>Hardware durch ohne Probleme Tage und Wochenlang.

Was für ein Modul? Wie sieht deine Platine aus?

>Kann man da was ändern????

Vielleicht.

>Ist das Normal.

Kaum.

>sprintf(tx_buffer,"$Zeichenfolge %d %d %d",wert1,wert2,wert3);
>send_UART(&tx_buffer[0]);

Ein

send_UART(tx_buffer);
 macht das Gleich und ist einfacher ;-)

Deine Codefragmente nützen wenig bis nichts. Du musst einen Schaltplan 
posten, bitte unter Beachtung der Bildformate.
Und vollständigen Quelltext als Anhang.

MFG
Falk

Autor: Herrmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also

ich habe auf der Hauptplatine eine Steckerleiste 1x4.

Pin 1=TXD
Pin 2=RXD
Pin 3=GND
Pin 4=+5V

im Normalbetrieb ist da nichts gesteckt also offene enden.

Dabei tritt das Problem auf.

Wenn ich den Pegelwandler mit den stiftleisten Verbinde

Schaltplan ist in den Tutorials zu finden.
Ohne das ein Computer an den Rs232 Ausgängen ist gehts ohne 
unterbrechung.
Sobald ich meinen Computer dazuschalte (Power on) habe ich das Problem 
auch.Und auch dann wenn ich ihn ausschalte (power off).Dann passiert das 
was nach ca 20min ohne Pegelwandler passiert.

Den Quellcode habe ich gekürtz das nur noch die Rs232 Init den send_UART 
und in der main while schleife ein waitms(2000) mit anschlißenden senden 
nur über die UART ohne Funk.

Das gleiche.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Herrmann (Gast)

Netiquette!!!

Dein Deutsch ist furchteregend. Solche schwammig chaotischen Sätze kann 
ein Mensch verdauen.

>Schaltplan ist in den Tutorials zu finden.

Wo? Merke. DU willst eine Antwort, also solltest DU mal ein wenig 
Vorarbeit leisten und nicht einfach irgenwelchen Schrott hier vor die 
Füsse kippen.

>Ohne das ein Computer an den Rs232 Ausgängen ist gehts ohne
>unterbrechung.

>Sobald ich meinen Computer dazuschalte (Power on) habe ich das Problem
>auch.Und auch dann wenn ich ihn ausschalte (power off).Dann passiert das
>was nach ca 20min ohne Pegelwandler passiert.

Hast du im ersten Posting nicht genau das GEGENTEIL behauptet?

>Den Quellcode habe ich gekürtz das nur noch die Rs232 Init den send_UART
>und in der main while schleife ein waitms(2000) mit anschlißenden senden
>nur über die UART ohne Funk.

WO ist der?

MfG
Falk

Autor: Herrmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So Problem gelößt

Ursache war Brown out detection.
Habe es auf enable gestellt und seitdem läuft er durch.

Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Dein Deutsch ist furchteregend. Solche schwammig chaotischen Sätze kann
>ein Mensch verdauen.

Wo ist dann das Problem?

Autor: Herrmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Keine Ahnung ich habe nur diese Fuse umgestellt und seitdem läufts.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.