Das macht irgendwie keinen Spaß zu lesen (Formatierung,
Schreibweise, hartverdrahtete Bitwerte statt sinnvoller Namen...).
Und die Fehlerbeschreibung ist fast eine Beleidigung ("funktioniert
nicht").
Deshalb nur der allgemeine Rat: Grenze doch das Problem ein und
probiere erst mit einem Terminalprogramm etc., ob der MC etwas
sendet und empfängt.
Erst dann lohnt es sich, die Gegenseite anzuschauen.
Evtl. auch mal über volatile nachdenken.
Und bitte nicht den gleichen unlesbaren Misthaufen auch noch in mehreren
Threads aufmachen.
Beitrag "V24 Schnittstelle"
Sind wir hier die Deppen vom Dienst?
Man braucht für eine Serielleübertragung
Mikrocontrollerseitig:
die Bibliothek #include "v24_poll.c"
Variable in Char char _analog;
den Befehl um die Baudrate einzustellen v24_init(9600);
den Befehl um die Variable zu versenden V24_putc(_analog);
c# seitig:
serialPort1.Open();
serialPort1.Read(_analog, 0, 1);
das müsste doch für die minimale Übertragung reichen ??
Klaus Wachtler schrieb:> Stimmt, aber was gibt es da zu grinsen?
Zu viel ärgern gibt nur Falten. Hm, zu viel Grisen auch...
Ach dann liegts einfach am schönen Wetter.
Und bevor der Richi sich denkt, hier seien nur Trolle unterwegs: Mein
lieber Mann, wie man in den Wald ruft...
Daher nochmalNetiquette: Klare Beschreibung des Problems
Vor allem die letzten beiden Punkte.
Michael H. schrieb:> Und bevor der Richi sich denkt, hier seien nur Trolle unterwegs:
Hm, wenn meinst du jetzt? Hier sind bsiher drei Leute unterwegs:
der TE, Du und ich.
Ihn meinst du offenbar nicht, dich vermutlich auch nicht.
Mist.
Richi schrieb:> das müsste doch für die minimale Übertragung reichen ??
Radio Eriwan: Im Prinzip ja. Wenn verschiedene Kleinigkeiten
gleichzeitig erfüllt sind. Die da wären...
1. Korrekte Programmierung der µC-seitigen Funktionen v24_init und
v24_putc.
2. Korrekte Hardware µC-seitig, also im wesentlichen Taktrate,
Pegelwandler, Buchse, Kabel zum PC.
3. Korrekte Programmierung PC-seitig, also im wesentlichen die
Vorbelegung der Werte, die von Open benutzt werden. Minimal PortName und
BaudRate. Statt Read ist bei Länge 1 Readbyte vielleicht logischer.
Read/Readbyte können nur funktionieren, wenn das Open erfolgreich war.
Der Rückgabewert von Open sollte also ausgewertet werden.
1. und 2. können und sollten unabhängig von 3. geprüft werden. Denn ohne
fehlerfreies 1. und 2. kann 3. nicht funktionieren. Wie geprüft werden
kann, hat Klaus bereits geschrieben.
Hallo,
ich denke es geht hier mehr um Eitelkeiten, als um die Sache.. sollte
eigentlich nicht so sein. Für meine erste Schaltung hatte ich 3 Monate
gebraucht, doch jetzt gehts.
wenn du es garnicht hinbekommst, kann ich die was zusenden: ich habe
einen analogen Wert (ADC)-Wert vom mc nach PC übertragen, die habe ich
allerdings mit assembler und Java am PC geschrieben, auf einem Atmega8,
wenn dir das hilft?
Gruß
Pfeiffy
Richi schrieb:> Man braucht für eine Serielleübertragung>> Mikrocontrollerseitig:>> die Bibliothek #include "v24_poll.c"> Variable in Char char _analog;> den Befehl um die Baudrate einzustellen v24_init(9600);> den Befehl um die Variable zu versenden V24_putc(_analog);>> c# seitig:>> serialPort1.Open();> serialPort1.Read(_analog, 0, 1);>> das müsste doch für die minimale Übertragung reichen ??
Woher soll das jemand wissen außer Dir?
Wir kennen Deine "v24_poll.c" doch nicht.
Tue einfach mal so, als ob alle hier nicht auf Deine Testplatine und
Deine PC-Festplatte gucken könnten.
Peter
P.S.:
Gibs zu, Du willst doch gar keine Antwort auf Deine Frage. Du willst
einfach nur wissen, ob bei Dir ein Lauschangriff läuft.
Wenn also jemand ohne Informationen antworten kann, dann ist das der
Fall.
Richi schrieb:> void initv24 (void)> {>> //UCSRC = 0b10000110;> //UCSRB |= ((1 << TXCIE) | (0 << RXCIE));>> }
Ich grübele schon seit Stunden, wozu diese Funktion gut ist.
Es muß doch einen Grund haben, warum Du meinst, sie uns unbedingt zeigen
zu müssen.
Oder willst Du einfach nur durch überflüssigen Text das Erkennen des
Fehlers absichtlich erschweren?
Peter
Peter Dannegger schrieb:> Gibs zu, Du willst doch gar keine Antwort auf Deine Frage. Du willst> einfach nur wissen, ob bei Dir ein Lauschangriff läuft.> Wenn also jemand ohne Informationen antworten kann, dann ist das der> Fall.
Wie die beiden Hellseher, die sich auf der Straße treffen:
"Dir geht's gut, und wie geht's mir?"
Oh je! nu iss aber gut, ich denke das Problem ist ganz klar definiert,
die Kommunikation geht nicht, als Anfänger weiss man hier nicht, wo das
Problem liegt und kann es so auch nicht beschreiben.
Frage: so wie ich das sehe, willst du nicht auf en PC, sondern auf ein
LCD schreiben?
Pfeiffy schrieb:> Oh je! nu iss aber gut, ich denke das Problem ist ganz klar definiert,
Totaler Blödsinn!
Hier ist rein gar nichts klar definiert.
Oder siehst du eine Initialisierung der UART? Siehst du eine
Hardwarebeschreibung? Siehst du auch nur eine Zeile zum Versuchaufbau?
> die Kommunikation geht nicht, als Anfänger weiss man hier nicht, wo das
Das ist billige und ungleich dumme Ausrede!
Ein denkender Mensch muss dazu in der Lage sein, ein Problem anderen
verständlich machen zu können.
Wenn ein 5-jähriger hinfällt, muss er der Mama auch sagen können, wo es
wehtut.
Eine stumpfe "geht nicht"-Zeile ist keine Problembeschreibung.
Hier sind einfach nur Codebatzen ohne nachzudenken hingeworfen worden
mit folgendem offensichtlichen Gedanken im Hinterkopf: Ich bin zu faul,
da jetzt wirklich drüber nachzudenken, sollen das mal andre machen.
tut mir leid, ich möchte mich hier nicht über die Sinnhaftigkeit einer
Aussage unterhalten, 22 Beiträge nur darüber wie jemand eine Frage
stellt? Ich denke so könnt Ihr hier niemandem helfen, sondern nur
erschrecken.
Oft weiss man als Anfänger nichtmal die Frage.
Pfeiffy schrieb:> Oft weiss man als Anfänger nichtmal die Frage.
Und genau deshalb gibt es Postingregeln, Netiquette usw., die einen an
die Hand nehmen, welche wichtigen Informationen man geben sollte.
Es gibt daher nur ein wirkliches Problem für den Anfänger: man muß sie
lesen.
Wenn ich eine C-Frage stelle, ist es doch wohl selbstverständlich, daß
ich zuerst den genauen MC-Typ und den Compiler angebe.
Und wenn ich eine nicht-Standard-Lib benutze, gehört die
selbstverständlich mit als Anhang dazu. Keiner kann schließlich auf
Deine Festplatte gucken.
Der Leser sollte alle notwendigen Informationen kriegen, damit der
gepostete Code ohne Fehler und Warnungen compilierbar ist.
Eine große Unsitte ist daher auch, Variablen ohne Typvereinbarung zu
benutzen.
Peter