Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: read RS232 Kategorie: Programmierung (von Hersonski - 10.10.2005 17:38)
Als Antwort auf Re: read RS232 von André H. - 8.10.2005 16:50
Ich nutze:
C164CI-ControllerBoard, CC2-Application-Board, OSOPT V3.0
Hallo André, Hallo Zusammen,
vielen Dank für die Antwort. Deine Tipps haben endlich bei mir was bewegt :)

> Hallo Alexander,
>
> Zuerst eine Bitte: Mach' bitte unbedingt ein OS-Update.
> Das original OS, also Version 1, ist mehr als veraltet.
> Aktuell ist OSOPT V3.0 mit dem SP2.

Danke! Habe ich natürlich gleich gemacht.

>
> > wieder mal ne dumme Frage. Ich auf der Suche nach einem Beispiel fürs folgende Szenario:
> >
> > PC ist mit dem CC2-Application Board (AB) via serielle schnittstelle verbunden. Am CC2-AB hängt
> > Voltage-Output DAC AD5380,der über I2C gesteuert wird.
> >
> > Ich suche ein Beispiel, das mir helfen kann, ein c2-Modul zu schreiben, das beim Start den Input
> > vom RS232 liest(sollte ein int array sein) und dann in die Routine übernimmt.
>
> Also nochmal zusammen gefasst:
> Du willst vom PC eine Folge von DA-Werten senden, die die CC2 in irgendeiner
> Abfolge zum DAC sendet ?

Ja, ich muss von dem PC eine Folge von Spannungen in Form eines Arrays (besser gesagt, 2DArray,
da ich X mal 32 Spannungen übergeben möchte, wobei X Anzahl der Experimente ist) an die CC2 senden.
CC2 muss bei jeder Runde jeweil 32 Spannungen (1 Dimension des Arrays) ablesen können und an die
DAC über I2C übertragen können.

> Dazu mu�t Du Dir zuerst ein �bertragungsprotokoll für die RS232 ausdenken.
> Nemen wir aber einmal an, Du möchtest anfangs die Werte per Hand
> über das Hyperterminal eingeben. Dann ginge soetwas:
> int DAwerte[16]; //z.B. 16 Werte
> thread main
> {byte second,i;
>  hwcom.init();
>  hwcom.setspeed(8); //57.600 Baud
>  loop
>  {
>   second=system.second();
>   hwcom.print("Zum Starten eine beliebige ");
>   hwcom.print("Taste drücken1310");
>   if hwcom.rxd() {hwcom.get();break;}
>   wait second!=system.second();
>  }
>  for i=0 ... 15
>  {
>   hwcom.print("Wert ");
>   hwcom.num(i);
>   hwcom.put(':');
>   DAwerte[i]=hwcom.input(1);
>  }
>
>  // Hier die DA-Werte zum DAC senden
>  // ...
>
>  quit 1;
> }

>
>


Vielen Dank für das Beispiel, es funktioniert!.
Allerdings noch ne Frage:
Ich übergebe Spannungen an die DAC
mit dem Befehl ad5383.setChannels(ad5383.DAC0,DAwerte);
Wenn dieser Code in meinem Programm zum Ausführung kommt, es werden Werte am DAC gesetzt,
wenn ich aber dieser Code in Dein Beispiel einfüge ich bekomme fatal error, cannot create VMC
Hiermit kann ich das Programm nicht übertragen
Woran könnte es liegen?

Viele Grü�e,
Alexander Hersonski


    Antwort schreiben


Antworten: