DS18S20

Gast #128298
Lesenswert?

Hallo

Ich habe auf einer Internetseite den angehängten code für einen DS18S20
gefunden, er funktioniert nur leider nicht(das programm ist
nur zum testen, deshalb soll die print1 schleife nur eine 5 ausgeben)
Der Sensor ist an PB0 mit 4,7k zwischen DQ und VCC.
In der include datei stehen die Schleifen für das LC Display, das auch
funktioniert.
Bei jedem Drücken das Tasters sollte eine 2 auf dem LCD ausgegeben
werden um zu sehen, ob das programm hängenbleibt.
Dieses ist nach dem reset-pulse der Fall(hatte den Rest deaktiviert)
und die print1 schleife wird nicht aufgerufen.
Weiss jemand wo genau und warum das Programm hängt??
Bei dem, von dem ich das kopiert habe, scheint es funktioniert zu
haben!!

mfg

Bastian Kriebel
Angehängte Dateien:
#999481
Lesenswert?

1
write_command:           ;gibt einen befehl aus, lsb zuerst
2

3
  sbrs befehl, 0  
4
  rcall write_0
5
  sbrc befehl, 0
6
  rcall write_1
7
  
8
  ror befehl               ;nächstes bit
9
  ldi temp1, 7       ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10

11
  write_command_1:
12
  sbrs befehl, 0  
13
  rcall write_0
14
  sbrc befehl, 0
15
  rcall write_1
16
  ror befehl
17
  dec temp1          ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18
  brne write_command_1
19

20
        ret

Du kannst schlecht oben 7 in temp1 für die Anzahl der Durchgänge laden, 
wenn Du temp1 bei den Warte-Routinen wieder überschreibst. Würde denn 
nicht temp2 gehen?

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