Mein MCT Programm läuft nicht!

#1151047
Lesenswert?

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 #1151113
Lesenswert?

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
Lesenswert?

> 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
Gast #1151204
Lesenswert?

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.
#1151213
Lesenswert?

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.)
Gast #1152621
Lesenswert?

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
Lesenswert?

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
#1238034
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren