Mein MCT Programm läuft nicht!

OP #1151047
Hi Leute, hab hier ein kleines Problem.
Ich hab zwei Mikrocontroller als Sender programmiert und einen als 
Empfänger. Die Eingangssignale der Sender sind je 4 Taster, die dann 3V 
an die Eingangpins von PORTB legen. Die Senderprogramme sind identisch, 
die unterscheiden erfolgt über den PIN 4 (je nachdem ob er über einen 
Schalter gesetzt ist oder nicht). Das ganze soll dann über den Seriellen 
Ausgang (TXD und RXD) auf den Empfänger übertragen werden. An den 
Ausgängen von dem Empfänger MCT hängen an PORTB 8 LED´s und an PORTA 
eine LED und ein Summer. Die 8 LED´s an PORTB sollen noch ca 10s 
nachleuchten, deshalb die Zähler und der Timer. Wenn nichts mehr 
übertragen wird, soll er in den Power-down Mode gehen.
Nur irgendwie klappt des ganze ned. Hab schon einiges ausprobiert und 
umprogrammiert, aber sie wollen nicht so wie ich es will.

Hab die beiden Programme im Anhang.

Würde mich tierisch über Hilfe freuen!
Danke schon mal im Vorraus.

MFG Thomas
Angehängte Dateien:
Gast #1151112
>  UDR = 'x';            // Inhalt von x �bertragen auf Schnittstelle

Das überträgt nicht den Inhalt, sondern das ASCII-Zeichen "x" - und zwar 
nur dieses.

Gruss Otto
Gast #1151113
Zu Empf_nger.c

volatile unsigned char c1 = 0;  // Z�hler 1 initialisieren und auf Null 
setzen
volatile unsigned char c2 = 0;  // Z�hler 2 initialisieren und auf Null 
setzen
volatile unsigned char c3 = 255; // Z�hler 3 initialisieren und auf 255 
setzen
Gast #1151149
> Die Eingangssignale der Sender sind je 4 Taster, die dann 3V
> an die Eingangpins von PORTB legen.

Mit welcher Spannung arbeitet der Controller ?

> Die Senderprogramme sind identisch,
> die unterscheiden erfolgt über den PIN 4 (je nachdem ob er über einen
> Schalter gesetzt ist oder nicht).

hängen die beiden gleichzeitig an der seriellen Schnittstelle?
Falls ja, wäre das nicht so gut - versuche es mit nur einem Sender

Otto
OP #1151155
Den Mikrocontroller versorg ich auch mit 3V (2x 1,5V Batterie). Ist ein 
ATmega 8515L dem müsste das reichen, oder? L steht doch für Low Power 
oder?

Noch hängen nicht beide Sender MCT´s auf der seriellen Schnittstelle. 
Aber es klappt ja mit einem Sender auch nicht. :-(
OP #1151176
Otto wrote:
> o. g. Änderungen schon getestet ?

Bin grad dabei, hab nen Testaufbau auf einer Platine zusammengelötet.


Bautrate hab ich bei beiden gleich eingestellt:
UBRRL = 0x17;      // 9600Bd bei 3.6846 MHz

Ich hab ein STK 500 und das AVR Studio 4
Gast #1151204
dann hast Du auch kein fosc = 3.6864 MHz - ausserdem ist der interne 
Oszillator relativ ungenau, wenn er nicht kalibriert ist.

Entweder, Du hängst einen Quarz dran, damit Du mit 9600 Baud arbeiten 
kannst, oder Du reduzierst die Baudrate auf 300 - 2400 und lässt die 
Fuses, wie sie sind.
OP #1151213
Hmm, ungenau ist egal. Kommt auf ein paar Sekunden hin oder her nicht 
an. Will aber eigentlich keine Externen Bauteile mehr dazu.
Ich dachte wenn ich den Timer auf langsamste Geschwindigkeit stell 
reicht des. Oder was wäre das für ein Befehl um die Bautrate runter zu 
setzen?

beim Empfänger
TCCR1B = 0x05;         // (Timer) prescaler 1024 (langsamste Geschw.)
OP #1151246
Ja ok danke. Werd ich mir morgen vornehmen.
Hab da auch schon einiges raus, aber ich geh´s nochmal durch. Vielleicht 
is mir ja jetzt alles ein wenig klarer.

Na dann, vielleicht bis die Tage.

Danke nochmal für die bisherige Hilfe.

MFG Thomas
Gast #1152621
Hast Du bereits geprüft, ob die Schaltung überhaupt funktioniert - also 
z. B. eine LED blinken lassen?

An einer Stelle schreibst Du, dass Du die Schaltung mit 3V betreibst - 
an anderer, das es ein STK500 ist.

Falls es ein STK500 ist, teste Sender und Empfänger über ein 
Terminalprogramm, indem Du die "RS232-Spare" an einen PC anschliesst.

Otto
Gast #1152797
Dann teste Sender- und Empfängerprogramm mit dem STK500 über ein
Terminalprogramm, indem Du die "RS232-Spare" an einen PC anschliesst.

Programmiere zuerst die Sender-UART komplett so, wie im Tutorium 
beschrieben und sende die Tasten an das Terminalprogramm.

Funktioniert dies, programmiere die UART des Empfängers identisch und 
sende mit dem Terminalprogramm Daten an den Empfänger.

Otto
OP #1238034
Hi Leute,
also das Mikrocontroller Programm funktioniert. Mit den XBee Modulen 
aber leider nicht.

Ich hab jetzt nur die zwei Mikrocontroller über die Serielle 
Schnittstelle (TXD & RXD) verbunden und es funktioniert alles 
einwandfrei. Aber sobald ich die Verbindung trenne und die XBee Module 
zwischen schalte, funktioniert es nicht mehr.

Hat das schon mal jemand gehabt?
Kann mir jemand Helfen?

Danke schon mal im Voraus.

Gruß Thomas

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.