Re: STPorts.c2 setall funktion Kategorie: Programmierung (von André H. - 1.11.2003 12:21) | |
Als Antwort auf STPorts.c2 setall funktion von Viktor - 31.10.2003 2:19
| |
Hallo Viktor, > erstmal kompliment zu dieser Seite hat mir sehr geholfen, bei meinen ersten Schritten mit der > CC2 Station. Danke. > folgender Test: > ich setzte mit stports.setall (i) die Ports > für meinen Test möchte ich nun das auch kontrollieren. Also mit stports.getall(). > > Ich hätte nun erwartet , das mir getall die gleiche Zahl zurückgibt, die ich mit setall übergeben hatte. > nur leider ist das nicht so. > z.B.: > für setall (1) > bekomme ich mit getall 256 zurück. für 2 wird 512 zurückgegeben, usw. > allerdings werden in diesem Beispiel die LEDs so gesetzt, wie ich das auch erwartet hätte > (mit den ersten 8 BIT) �hh, da ist mir glaub ich kleiner Leichtsinnsfehler passiert. Beim C164 ist immer das erste Byte des Integers das Low-Byte und das zweite das High-Byte.(LSB first) In C2 ist dies genau umgekehrt. (MSB first) Ersetze die Zeile in getall() einfach durch folgende: return states[1] or (states[0] shl 8); Dann wird es richtig zurückgegeben. �brigens kannst Du Dein Testproggie auch einfacher schreiben: stports.setall(i); lcdext.clear(); lcdext.zahl3(stports.getall()); lcdext.line(2); lcdext.zahl3(i); 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: STPorts.c2 setall funktion (von Viktor - 5.11.2003 22:18) |