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

Re: Einlesen serieller Daten mit Clock-Leitung Kategorie: Programmierung (von André H. - 29.08.2010 19:50)
Als Antwort auf Re: Einlesen serieller Daten mit Clock-Leitung von Detlef K. - 26.08.2010 17:11
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, C-Control II Station, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT V3.1
Hallo Detlef,

> Ahhh.
> Auf die Clock High warten, Wert übernehmen und einsortieren, Clock Low warten,
> wiederholen bis 32. Und dazu noch mit Timeout. Muss man erst mal drauf kommen.
> Bei mir ist das MSB zuerst, wie dreh ich das ganze dann um? (shr 2^32-i)?
> oder geht das auch eleganter?

Nein, das ist zu umständlich.
So geht's einfacher:

CLK=15; //P1H.7
Data=14; //P1H.6
thread main
{long timer, wert;
 byte i;
 hwcom.setspeed(8);//57.600Baud für Testausgabe über ein Terminalprogram (Hyperterminal)
 timer=system.timer();
 loop
 {
  wait ports.get(CLK);
  if system.timer()-timer>100
   { // Timeout bei >100ms
    i=31;
    wert=0;
   }
  wert=wert or cast.intLong(ports.get(Data) and 1) shl i;
  wait not ports.get(CLK);
  if i>=32 or i==0
   {
    hwcom.num(wert);
    hwcom.ret();
    timer=system.timer();
    wert=0;
   }
  i=i-1;
 }
}


MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: Einlesen serieller Daten mit Clock-Leitung (von Detlef K. - 3.09.2010 15:44)