atmega8 und Schieberegister ganz einfach

OP #867135
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
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.