Hallo knife,
Man könnte das "klassisch" so machen:was ich wollte ist, dass ich in einer tabelle (array) werte ablege (z.B.: 0001, 0010, 0011, ...) und anschließend diese werte nacheinander an die leds ausgeben, z.B. mit for-schleife. gibts denn sowas?
VALUE enthält dann den auszugebenen Wert.Code:'IIIIIIII Binärausgabe mit den 4 LEDs IIIIIIII ' Der Robby kann OHNE zusätzliche Hardware keine Werte (z.B. ' seiner Sensoren) anzeigen. Diese Routine gibt VALUE mit den ' 4 LEDs in Binärform (als 2 Nibble mit je 4 Bit) aus. ' Die Variable VALUE muss als BYTE definiert sein! #LEDBINOUT 'Ausgabe 1. Nibble (low) gosub LEDSOFF: gosub LED1FLASH: gosub LED1FLASH gosub LED1FLASH: gosub LED1FLASH: gosub LED1FLASH if (VALUE and &B1) <> 0 then gosub LED1ON if (VALUE and &B10) <> 0 then gosub LED2ON if (VALUE and &B100) <> 0 then gosub LED3ON if (VALUE and &B1000) <> 0 then gosub LED4ON pause 100 'Ausgabe 2. Nibble (high) gosub LEDSOFF: gosub LED2FLASH: gosub LED2FLASH gosub LED2FLASH: gosub LED2FLASH: gosub LED2FLASH if (VALUE and &B10000) <> 0 then gosub LED1ON if (VALUE and &B100000) <> 0 then gosub LED2ON if (VALUE and &B1000000) <> 0 then gosub LED3ON if (VALUE and &B10000000) <> 0 then gosub LED4ON pause 100: return #LED1FLASH gosub LED1ON: pause 5: gosub LED1OFF: pause 5: return #LED2FLASH gosub LED2ON: pause 5: gosub LED2OFF: pause 5: return 'Binär-Dezimal-Tabelle (4-Bit): ' WERT: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ' LED1-> 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 ' LED2-> 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 ' LED3-> 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 ' LED4-> 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 ' ' Der Dezimal-WERT kann in der 1. Zeile abgelesen werden, wenn man ' die zutreffende LED-Kombination aussucht (1 -> an, 0 -> aus). ' Der Wert des 2. Nibbles (high) kann genauso abgelesen werden, ' muss aber noch mit 16 multipliziert und zum 1. Nibble addiert ' werden, um den ganzen 8-Bit-Dezimalwert (0..255) zu erhalten.
Gruß Dirk







Zitieren

Lesezeichen