Hallo zusammen,
ich bin gerade dabei den Unterricht meiner Technikerschule nachzubereiten.
Nun kam es zu einem Verständnisfrage beim nachvollziehen von Code einer Musterlösung zur Übungsaufgabe.
Natürlich habe ich vorerst das Forum durchsucht usw. aber eine 100% Ja/Nein zu meiner Frage konnt eich daraus nicht ablesen.
Ziel der Übungsaufgabe ist es eine Routine zum beschrieben des EEPROM zu entwickeln.
Musterlösung
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
Nun zur Fragestellung:
Mit der While Schleife while(EECR & (1<<EEWE)); wird geprüft ob das EEPROM zum schreiben bereit ist. Genauer Gesagt ob im EEPROM Control Register (EECR) das Bit 1 (EEWE) EEPROM Write Enable gesetzt ist, also noch ein Schreibvorgang läuft. --> Ist meine Annahme richitg?
Dazu wird mit EECR & (1<<EEWE) das Byte EECR genommen und EECR & (1<<EEWE) alleinig auf das Bit 1 maskiert. --> Ist meine Annahme richitg?
Sofern das Bit1 = 1 ist wird b00000010 also dec 2 ausgegeben Sofern das Bit1 = 0 ist wird b00000000 also dec 0 ausgegeben
Wie reagiert die while Schleife darauf? Bisherig war meine Annahme while(1) entspricht while(true) --> Schleife läuft meine neue Annahme heißt jetzt while(>=1) entspricht while(true) --> Schleife läuft
Was stimmt hier nun?
Ich hoffe mir kann jemand auf die Sprünge helfen. Danke und schönen Tag!