Re: Serielle Schnittstellenprogrammierung Kategorie: Programmierung C (von Oliver - 26.04.2009 21:20) | |
Als Antwort auf Re: Serielle Schnittstellenprogrammierung von Wolfgang - 25.04.2009 18:41
| |
oha, deine Erklärung klingt logisch und kommt warscheinlich nicht von ungefähr. Ich kenn mich leider mit der Materie nicht so gut aus... Aber 2 Fragen tun sich mir nun auf... 1. woher sollen die 12V kommen, beide Controller arbeiten nur mit 5 V. insofern denke ich, dass das nicht so tragisch ist / war (ich werde weitere Tests natürlich lassen ;-) 2. was kann ich nun tun? um das signal zu invertieren, kann ich RxD und TxD mit nem Pull-Up-Widerstand versehen, oder? Und kann ich das Signal nicht per Software "umdrehen" ? Das Problem ist hierbei, dass ich das start und stop-Bit nicht auslesen kann (zumindest nicht über die RS232-Schnittstellen-Befehle) Oder ist das eher der Holzweg und es geht viel einfacher? Gru� Oliver > Hallo Oliver, > > gleich vorweg: wass ich hier schreibe, ist nicht genau überprüft, sondern nur so'ne Vermutung, die mir > beim Lesen Deines Beitrags in den Sinn kommt: > > Kann es sein, das einer Deiner beiden Controller einen (invertierenden) Schnittstellen-Treiber > (z.B. MAX232) hat, der andere aber nicht? Dann sähe jeder Receiver das Inverse dessen, was der > andere Transmitter gesendet hat, mit dem Erfolg, dass nicht nur die Datenbits andersherum > herauskommen, sondern auch Start- und Stop-Bit jeweils den falschen Pegel haben. Letzteres > könnte evtl. auch erklären, dass scheinbar nur 7 Bit übertragen werden. > > Falls meine Idee zutrifft, so ist das auch hardware-mässig gefährlich: der Treiberbaustein liefert nominell > +/-12V, die für die Pins des ohne (Gegen-)Treiber arbeitenden Controllers hochgefährlich sind. > > Gru�, Wolfgang > > > Hallo > > Ich bin gerade dabei über die serielle Schnittstelle eine Kommunikation zwischen dem CC-Pro 128 App Board > > und der (ur)alten CC1-Unit zu programmieren. > > > > Allerdings ist mir ein Fehler aufgefallen, und ich glaube der liegt an meinem Board, was anderes fällt mir nicht mehr ein -.- > > > > Hier eine Tabelle mir den Werten die ich vom alten Board sende und mit dem CC-Pro empfange: > > > > 0 0 > > 1 127 > > 2 63 > > 3 126 > > 4 31 > > 5 125 > > 6 62 > > 7 124 > > 8 15 > > 9 123 > > 10 61 > > 11 122 > > 12 30 > > 13 121 > > 14 60 > > 15 120 > > 16 7 > > 17 119 > > 18 59 > > 19 118 > > 20 29 > > 21 117 > > > > usw. > > > > Wie man sehen kann, sind sie nicht wie gewollt gleich ;-) > > > > Die Parameter sind > > Serial_Init(0, SR_8BIT | SR_1STOP | SR_NO_PAR , SR_BD9600 ); > > > > Auch mit einer noch langsameren Baudrate kommt das selbe Ergebnis raus, die Kabel sind nur ca 20cm lang, > > und das Programm zum Senden auf dem alten Board funktionier auch, bei Anschluss eines PCs kommen auf dem > > Terminal die richtigen Zeichen an. Es muss also am Pro-Board liegen. > > > > Mir ist au�erdem aufgefallen, dass wenn ich mit SR_7BIT statt SR_8BIT starte, die selben (falschen) Zahlen bekomme. > > Au�erdem ist keine einzige der empfangenen Zahl grö�er wie 127. Was dafür spricht, dass das 8. Bit fehlt. > > > > Ist das nun ein Fehler meinerseits oder ist wirklich was defekt ? > > > > Ach ja, ich wollte das ganze noch mit der 2. seriellen schnittstelle testen, allerdings empfängt diese gar keine Werte, > > was auch seltsam ist... > > > > Danke für jeden Tipp > > > > Gru� Oliver > > | |
Antwort schreiben Antworten: Re: Serielle Schnittstellenprogrammierung (von Wolfgang - 26.04.2009 22:45) Re: Serielle Schnittstellenprogrammierung (von Oliver - 27.04.2009 22:40) Re: Serielle Schnittstellenprogrammierung (von Wolfgang - 28.04.2009 16:18) Re: Serielle Schnittstellenprogrammierung (von Oliver - 3.05.2009 23:36) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum