74 hc 595 - C - reagiert nicht

OP #1761700
Hallo,

ich ärgere mich jetzt schon ein Weilchen mit der Porterweiterung herum.

Findet jemand den Fehler?

Ich hab mich schon durch etliche Beiträge hier, sowie das Datenblatt 
gelesen und bin nicht wirklich weiter...

Den Code von hier: 
http://www.mikrocontroller.net/articles/Porterweiterungen habe ich noch 
nicht ausprobiert, wollte das ganze etwas "kompakter" halten.

Danke!
1
int main() {
2
  uint8_t si;   // an:  PB 00  1
3
  int g;        //      PB 01  2
4
  int sck;     //       PB 02  4  
5
  int sclr;    //       PB 03  8
6
  int rck;     //       PB 04  16
7

8

9
  int i;      //laufvariable  
10

11

12
  DDRB = 0x00; 
13
  PORTB = 0x00;
14
  
15
  
16
  _delay_ms(1000);
17

18
  si = 0xf0;      //gewünschte ausgabe
19
  
20
  
21
  g = 1;                  //output disable
22
  PORTB |= (0x02 & g);  
23
  PORTB |= (0x08 & 0);    //shift register cleared
24
  PORTB |= (0x08 & 1);    //sclr - aufnahmebereit
25

26
  for(i=0; i<8; i++){
27
    PORTB |= (0x01 & (si >> (7 - i))); 
28
    
29
    sck = 1;
30
    PORTB |= (0x04 & sck); 
31

32
    _delay_us(5); 
33
    
34
    sck = 0;  
35
    PORTB |= (0x04 & sck); 
36

37

38
    }
39
 
40
  rck = 1;
41

42
  _delay_us(5);
43

44
  rck = 0; 
45
  PORTB |= (0x10 & rck); 
46

47
  g = 0; 
48
  PORTB |= (0x02 & g);
49

50
  _delay_ms(500); 
51

52
  while(1){
53
  ;
54

55

56
  }  
57

58
}
Gast
> g = 1;                  //output disable
> PORTB |= (0x02 & g);
> PORTB |= (0x08 & 0);    //shift register cleared
> PORTB |= (0x08 & 1);    //sclr - aufnahmebereit

..ähm.. ich möchte - ohne Dir zu nahe treten zu wollen - dringend 
empfehlen, ein C-Buch zu lesen. Oder den Code anzusehen, den Du oben 
schon verlinkt hast. So wird das nix..

HTH

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.