Created
May 14, 2019 11:16
-
-
Save avr-programmierung/3afc1ac1c097347c21a0a16c9b88243c to your computer and use it in GitHub Desktop.
ATmega88 @ 8MHz Lauflicht 02
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* lauflicht_sr_02.c ATmega88 @ 8MHz */ | |
int main(void) | |
{ | |
DDRD = 0xFF; // Richtungsregister PORTD = Ausgang | |
PORTD = 0x04; // PD2 (RCK) = High, 0x04 = 0000 0100 | |
uint8_t k, data = 0x01; // data = 0000 0001 | |
while(1) | |
{ | |
if (data & 0x80) // Wenn 1000 0000, dann 6x nach rechts schieben | |
{ | |
for (k=0; k<=6; k++) | |
{ | |
_delay_ms(100); // 100ms warten | |
soft_serial(data); // Funktionsaufruf und Übergabe von data | |
rck(); // Funktionsaufruf rck -> Takt für RCK generieren | |
data = data >> 1; // data um 1 Stelle nach rechts schieben | |
} | |
} | |
else if (data & 0x01) // Wenn 0000 0001, dann 6x nach links schieben | |
{ | |
for (k=0; k<=6; k++) | |
{ | |
_delay_ms(100); // 100ms warten | |
soft_serial(data); // Funktionsaufruf und Übergabe von data | |
rck(); // Funktionsaufruf rck -> Takt für RCK generieren | |
data = data << 1; // data um 1 Stelle nach links schieben | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment