Skip to content

Instantly share code, notes, and snippets.

@avr-programmierung
Created May 14, 2019 11:16
Show Gist options
  • Save avr-programmierung/3afc1ac1c097347c21a0a16c9b88243c to your computer and use it in GitHub Desktop.
Save avr-programmierung/3afc1ac1c097347c21a0a16c9b88243c to your computer and use it in GitHub Desktop.
ATmega88 @ 8MHz Lauflicht 02
/* 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