Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| microcontrollertechnik:6_wuerfel_und_zufall [2024/01/22 13:45] – mexleadmin | microcontrollertechnik:6_wuerfel_und_zufall [2026/03/08 13:43] (current) – mexleadmin | ||
|---|---|---|---|
| Line 89: | Line 89: | ||
| // Konstanten | // Konstanten | ||
| - | #define PRESCALER_VAL | + | #define PRESCALER_VAL |
| - | #define CYCLE10MS_MAX | + | #define CYCLE10MS_MAX |
| #define INPUT_PIN_MASK 0b00001111 | #define INPUT_PIN_MASK 0b00001111 | ||
| Line 97: | Line 97: | ||
| // Variable | // Variable | ||
| unsigned char softwarePrescaler = PRESCALER_VAL; | unsigned char softwarePrescaler = PRESCALER_VAL; | ||
| - | unsigned char cycle10msCount | + | unsigned char cycle10msCount |
| unsigned char castVar = 1; // Variable für Wuerfel-Zaehler | unsigned char castVar = 1; // Variable für Wuerfel-Zaehler | ||
| Line 152: | Line 152: | ||
| | | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| */ | */ | ||
| { | { | ||
| Line 178: | Line 178: | ||
| void castCounting(void) | void castCounting(void) | ||
| { | { | ||
| - | DDRC = DDRC & | + | DDRC = DDRC & |
| PORTC |= INPUT_PIN_MASK; | PORTC |= INPUT_PIN_MASK; | ||
| _delay_us(1); | _delay_us(1); | ||
| - | buttonState | + | buttonState |
| - | DDRC |= INPUT_PIN_MASK; | + | DDRC |= INPUT_PIN_MASK; |
| // Einlesen der Tastensignale | // Einlesen der Tastensignale | ||
| Line 253: | Line 253: | ||
| - Auch hier wird über die " | - Auch hier wird über die " | ||
| - Mit dem Befehl '' | - Mit dem Befehl '' | ||
| - | - In der Endlosschleife sind auf der ersten Ebene wieder nur If-Abfragen zu den Flags '' | + | - In der Endlosschleife sind auf der ersten Ebene wieder nur If-Abfragen zu den Flags '' |
| - Alle $10~\rm ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm '' | - Alle $10~\rm ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm '' | ||
| - Alle $100~\rm ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm '' | - Alle $100~\rm ms$ (bzw. wenn das entsprechende Flag gesetzt wird) wird das Flag zurückgesetzt und das Unterprogramm '' | ||
| Line 259: | Line 259: | ||
| - Mit dem Befehl '' | - Mit dem Befehl '' | ||
| - Der Überlauf-Interrupt durch den Timer0 wird erst bei Überlauf des 8-Bit Wert ausgeführt. Auch hier ergibt sich durch den Prescaler und Modus ('' | - Der Überlauf-Interrupt durch den Timer0 wird erst bei Überlauf des 8-Bit Wert ausgeführt. Auch hier ergibt sich durch den Prescaler und Modus ('' | ||
| - | - Die Ermittlung von '' | + | - Die Ermittlung von '' |
| - Eine große Änderung ist, dass bereits im Interrupt alle 10ms die Unterfunktion '' | - Eine große Änderung ist, dass bereits im Interrupt alle 10ms die Unterfunktion '' | ||
| \\ \\ \\ | \\ \\ \\ | ||