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 Detlef K. - 26.08.2010 17:11)
Als Antwort auf Re: Einlesen serieller Daten mit Clock-Leitung von André H. - 26.08.2010 15:54

> Hallo Detlef,
>
> > ich hab ein Device, das sendet unregelmä�ig 32bit seriell auf einer Leitung und
> > gibt auf einer zweiten die Clock dazu (sehr langsam, <300Baud).
> > Das ist komplett protokollfrei, also weder 2W-Bus, noch I2C oder Rs232.
> >
> > Weiss leider nicht nach welchem Stichwort man da googln oder hier im Forum suchen muss...
> > Hat jemand Vorschläge, wie man das elegant einliest?  
> > Oder gibt es da bereits fertige Lösungen ?
>
> Ich denke, daÃ? bisher danach noch niemand gefragt hat.
>
> Ich gehe davon aus, da� Deine Daten in Form von SPI übertragen werden.
> Wie werden die Daten übertragen? MSB oder LSB first?
> Bei weniger als 300 Baud, sprich Hertz, sollte sich dies per Polling gut einlesen lassen.
> zum Testen wäre folgendes möglich: (LSB first)
>
> 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=0;
>     wert=0;
>    }
>   wert=wert or cast.intLong(ports.get(Data) and 1) shl i;
>   wait not ports.get(CLK);
>   if i>=31 or i==0
>    {
>     hwcom.num(wert);
>     hwcom.ret();
>     timer=system.timer();
>     wert=0;
>    }
>   i=i+1;
>  }
> }
>

>
> MfG André H.


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?
Test ich gleich morgen.
Danke. Danke. Danke.


    Antwort schreiben


Antworten:

Re: Einlesen serieller Daten mit Clock-Leitung (von André H. - 29.08.2010 19:50)
    Re: Einlesen serieller Daten mit Clock-Leitung (von Detlef K. - 3.09.2010 15:44)