Hallo zusammen, vieleicht kann mir jemand ein Tip geben, ich wollte ein iButton DS1990A zur Sicherheitsabfrage nutzen. Angeschlossen haben ich Ihnen wie folgt. an PB1 geht ein Kabel zur Kontakteinheit des iButtons "Leser" (Data) und auch ein 4,7 KOhm Wiederstand von PB1 zu 5 Volt. Die Masse ebend an Masse, soweit so gut. Mit folgendem Programm passiert rein garnichts. Normalerweise sollte hier die Seriennummer und die Anzahl der 1wire Geräte angezeigt werden. Habe ich da irgwendwo ein denkfehler, bin noch ein neuling bei AVR Programmierung. $regfile = "m8def.dat" $crystal = 3000000 $baud = 9600 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default use 10 for the SW stack $framesize = 40 ' default use 40 for the frame space Config 1wire = Portb.1 Config Lcd = 16 * 2 ' LCD 16x2 mit HD 44780 Controller Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 Dim Rom_data(8) As Byte Dim I As Byte , W As Word Declare Sub Crc8_check() Cls Do Rom_data(1) = 1wsearchfirst() If Err = 1 Then Goto Cnt For I = 1 To 8 Print Hex(rom_data(i)); Next Crc8_check Print Do Rom_data(1) = 1wsearchnext() If Err = 1 Then Exit Do For I = 1 To 8 Print Hex(rom_data(i)); Next Crc8_check Print Loop Cnt: W = 1wirecount() Locate 2 , 0 Lcd "iButtons ist" ; W Loop End Sub Crc8_check() $external _crc8 Local Result As Byte Loadadr Rom_data(1) , Z ldi R24,8 !Call _crc8 Loadadr Result , X st X,R16 If Result = 0 Then Lcd "CRC-8 OK"; Wait 2 Else Lcd "Crc -8 Error "; Wait 2 End If End Sub Gruß Chris
Christian Schaebsdat wrote: > Habe ich da irgwendwo ein denkfehler, bin noch ein neuling bei AVR > Programmierung. Naja, mit AVR hat das nichts mehr zu tun, sondern mit Bascom. Da sollte doch irgendwo ne Doku und Beispiele zu den "Schwarzen Kästelchen" mit bei sein. Ich habe keine Black Boxen genommen, sondern mir die Funktionen anhand der Ablaufdiagramme in den Maxim Datenblättern selber geschrieben: Beitrag "DS1820, DS18B20 in C" Peter P.S.: Womit erzeugst Du die 3MHz ? Ein recht ungebräuchlicher Wert. Stehen die Fuses vielleicht noch auf 1MHz ?
Die 3 Mhz waren schon immer da, hatt ich immer als Vorlage bei ATmega8 der kann doch 3 Mhz Intern oder ? oder muß ich ihm das noch woanders sagen ? Also mal kurz, hardwareseitig sollte es also funktionieren ? Dann weis ich wenigstens wo ich dann suchen muß. Chris
chris-berlin wrote: > Die 3 Mhz waren schon immer da, hatt ich immer als Vorlage bei ATmega8 Vorlagen sind schön, wenn sie zutreffen. Also erstmal prüfen, was sie bedeuten und ob sie zutreffen. > der kann doch 3 Mhz Intern oder ? Nein. > oder muß ich ihm das noch woanders > sagen ? Ja. Ich würde sagen, es ist allerhöchste Zeit für Dich, mal das Datenblatt zur Hand zu nehmen (mindestens die Abschnitte "System Clock and Clock Options" und "Fuse Bits"). Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.