Forum: Mikrocontroller und Digitale Elektronik Auslesen eines Arrays über RS232 steuern


von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,

ich versuch gerade Daten Arrays des µC vom PC aus auszulesen.
Habe mir folgendes überlegt.
Ich send eine "1" per RS232 an den µC und er liest den wert des
entsprechenden Arrays aus und sendet mir diesen per RS232 zurück.
Ich habe folgendes versucht, ich schicke eine 1 danach wird der Port 4
auf den wert 1 gesetzt,ich sende eine 2 der Port 4 wird auf den Wert 2
gesetzt usw.
Dies funktioniert auch versuche ich nun nicht nur einen Wert am Port 4
anzuzeigen sondern auch den Wert des Arrays zu senden bleibt das
Programm hängen gleich bein ersten printf Befehl.
Habe keine Ahnung an was es liegen könnte habe schon die
Interruptfunktion vor den sende abgeschaltet aber trotzden bleibt das
Programm hängen.
Ich habe mal mein kleines Testprogramm angehängt.
Ich verwende einen 80C517A und Keil uVision2 Demo.
Danke schon mal für die Antworten.

Tom

von Rahul D. (rahul)


Lesenswert?

wie wäre es mit ein paar Kommentaren im Programm?
Dann könnten dir auch Leute ohne wahnsinniges C51-Wissen und
ASCII-Tabelle im Kopf helfen...
Umständlich ist dein Programm ausserdem...schon mal was von switch-case
gehört?
Dann frage ich mich gerade, wieso du Daten[Daten_z][1] etwas zuweist,
aber nur Daten[Daten_z][0] abfragst...

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

sorry das ich Anfänger bin und mich noch nicht sehr lange mit MC
auseinandersetze.
Ich habe nun noch die Kommentare dazugeschrieben.

"Dann frage ich mich gerade, wieso du Daten[Daten_z][1] etwas
zuweist,
aber nur Daten[Daten_z][0] abfragst..."

sorry war ein schreibfehler der Fehler scheint aber nicht daran zu
liegen

Gruß

Tom

von Tom (Gast)


Lesenswert?

Hallo,

Das mit dem switch-case habe ich verstanden es funktioniert solange ich
einen Port ansteuere aber sobald ich etwas mit RS232 senden will
funktioniert es nicht.
Hat keiner eine Ahnung an was es liegen könnte bzw. wie man sowas
programmiert.

Gruß
Thomas

von Tom (Gast)


Lesenswert?

Hat wirklich keiner eine Idee an was es liegen könnte?
Muss ich eventuell etwas besonderes beachten?

Tom

von Rahul D. (rahul)


Lesenswert?

Dann liegt das Problem wohl am printf, oder?
versuch doch einfach mal "SOBUF = Daten[0][1];" dann müsste
eigentlich das entsprechende Byte gesendet werden.
Als Anfang wäre es vielleicht auch sinnvoll, einfach das empfangene
Zeichen an den PC zurück zu senden.

von Rahul D. (rahul)


Lesenswert?

Noch was:
Solltest du Zugang zu einer Bücherei haben, empfehle ich dir das
Mikrocontroller-Kochbuch von Andreas Roth. Das ist im Bereich der
8051er wohl das Standard-Einstiegs-Werk überhaupt(sofern man sich nicht
mit den Datenblättern in englisch rumschlagen will).

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.