atmega8 und Schieberegister ganz einfach

OP #867135
Lesenswert?

Also ich habe ein kleines Problem ich habe mir eine kleine Schaltung mit 
einem atmega8 und einem Schieberegister aufgebaut (wie im AVR-Tutorial 
beschrieben) und an alle Ausgänge jeweils eine LED gehängt
nun wollte ich das ganze nur um das System zu verstehen wie folgt 
ansteuern:
1
#include <avr/io.h>
2

3
#define SER 0
4
#define SCK 1
5
#define SCL 2
6
#define RCK 3
7

8
int main(void)
9
{
10
  DDRB = 0xff;
11
  
12

13
  PORTB |= (1 << SER);
14
  PORTB |= (1 << SCK);
15
  PORTB &= ~(1 << SCK);
16
  
17
  PORTB &= ~(1 << SER);
18
  PORTB |= (1 << SCK);
19
  PORTB &= ~(1 << SCK);
20
  
21
  PORTB |= (1 << SER);
22
  PORTB |= (1 << SCK);
23
  PORTB &= ~(1 << SCK);
24
  
25
  PORTB &= ~(1 << SER);
26
  PORTB |= (1 << SCK);
27
  PORTB &= ~(1 << SCK);
28

29
  PORTB |= (1 << SER);
30
  PORTB |= (1 << SCK);
31
  PORTB &= ~(1 << SCK);
32
  
33
  PORTB &= ~(1 << SER);
34
  PORTB |= (1 << SCK);
35
  PORTB &= ~(1 << SCK);
36

37
  PORTB |= (1 << SER);
38
  PORTB |= (1 << SCK);
39
  PORTB &= ~(1 << SCK);
40
  
41
  PORTB &= ~(1 << SER);
42
  PORTB |= (1 << SCK);
43
  PORTB &= ~(1 << SCK);
44
  
45
  PORTB |= (1 << RCK);
46
  PORTB &= ~(1 << RCK);
47
  
48
  while(1)
49
  {
50
    PORTB |= (1 << 5);
51
  }
52
}

das
1
PORTB |= (1 << 5);
 habe ich zu testzwecken eingebaut

die LED geht dort auch an also wird das Programm wohl durchlaufen... 
jedoch tut sich bei den am Schieberegister angeschlossenen LEDs 
garnichts... woran kann das liegen?

Danke im Voraus,
Tamme
#867142
Lesenswert?

Ohne jetzt alles kontrolliert zu haben.
Du hast anscheinend den Schieberegister Eingang SCL an den
Port gelegt. SCL ist aber low-aktiv. Da du den entsprechenden
Ausgang am Port nie auf 1 setzt, liegt dort am Ausgang noch
immer eine 0 an. Diese 0 am SCL Eingang ist aber fatal. Denn sie
bedeutet: Das Schieberegister löschen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren