Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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)