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

Re: Eingabepuffer 2. serielle Schnittstelle Kategorie: CC-Pro Unit & Appl.Board (von PeterS - 7.11.2008 11:51)
Als Antwort auf Eingabepuffer 2. serielle Schnittstelle von CaveRender - 7.11.2008 0:03

> Hallo zusammen,
>
> ich möchte die Daten zwischen den beiden seriellen Schnittstelle bidirektional austauschen.
> An der 1. Schnittstelle habe ich ein HyperTerminal, die 2. Schnittstellen ist im ersten Schritt
> noch nichts angeschlossen. Später will ich dort ein Bluetooth-Modul ansteuern (BTM-222).
>
> Hier der Code:
>
> void main(void)
> {
> char Buffer_tx[256];
> char Buffer_rx[256];
>     word tx, rx;
>
> // RS232(0): 38400 bps, 8 Bit, 1 Stop, NP
>     Serial_Init_IRQ(0, Buffer_tx, 10, 10, SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD38400);
>
> // RS232(1): 38400 bps, 8 Bit, 1 Stop, NP
>     Serial_Init_IRQ(1, Buffer_rx, 10, 10, SR_8BIT|SR_1STOP|SR_NO_PAR,SR_BD38400);
>
> while (true) {
> tx = Serial_ReadExt(0);
>         if (tx != 256) Serial_Write(1, tx); // <-- Warum schreibt dieser Befehl
>                                             // in den Lesepuffer der 2. Schnittstelle
>                                             // anstatt an die Schnittstelle selbst ???
> rx = Serial_ReadExt(1);
>         if (rx != 256) Serial_Write(0, rx);
> }
> }
>
> Hier das Problem:
>
> Beim Schreiben auf die 2. Schnittstelle landen die Bytes in deren Eingangspuffer und werden
> danach direkt wieder eingelesen. Bei der 1. Schnittstelle ist das nicht so.

Hallo Jochen, ich hab Dein Programm gestartet, bekomme aber keinen Fehler. Zum Test habe ich noch
vorher mit "Serial_Write(1, 0x10);" Daten an die 2. serielle geschickt, konnte die aber nicht in dieser
while Schleife wieder auslesen. So ist das ok, aber die seriellen Buffer am besten in globalen Variablen
deklarieren. Kommt man nämlich auf die Idee die seriellen in einer Unterfunktion mit lokalen
Buffer Variablen zu initialisieren, so geht das daneben.

Schicke mir doch bitte einen Quellcode der den Fehler demonstriert nach ccpro@gmx.de.

Gruss Peter

>
> Hat jemand eine Idee?? Ich verwende die aktuelle C-Control IDE 1.71.0.5.
>
> Danke. Jochen


    Antwort schreiben


Antworten:

Re: Eingabepuffer 2. serielle Schnittstelle (von CaveRender - 9.11.2008 0:14)