Forum: Compiler & IDEs rechts schieben?


von Bernd B. (behbeh)


Lesenswert?

Hallo
aus einem Program ein Auszug.
Ich weiss nicht was dies bedeutet..
Kommt aus einer Interruptroutine die alle 10ms einen Taster abfragt
Ich kenne noch nicht die Bedeutung z = x >> y;
Wird da nach rechts geschoben?

// constants and variables
#define   IRQS_PER_SECOND   1000 //generated timer 1 interrupts per 
second
#define   TIME10MS   IRQS_PER_SECOND / 100 // counter value for 10ms
uint16_t   TimerCount; // counter for timer1 interrupts
uint16_t   Timer10ms;  // counter for 10ms timer
uint16_t  MaxTime;  // used to set different LED blink rates (for demo)
volatile uint8_t State; // power button state, possible values:
         // 3 = just turned on, button still pressed
                  // 2 = keep on, button released
         // 1 = button pressed for power off
         // 0 = button released, now really turn off



MaxTime= IRQS_PER_SECOND>>State;
         ^^^^^^^^^^^^^^^^^^^^^^^
P.S.
Die Quelle:

// Soft Power Switch with AVR 
*/
/* 
*/
/*(c) 2008 Dipl.-Ing. (FH) Rainer Reusch, Reusch Elektronik for Elektor 
*/
/*   http://www.reusch-ektronik.de 
*/

von Jan M. (mueschel)


Lesenswert?

>Ich kenne noch nicht die Bedeutung z = x >> y;
>Wird da nach rechts geschoben?


Genau, x wird um y Bits nach rechts geschoben:
x= 0b00010000, y= 2    ->  z = 0b00000100

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.