Hi Leute, wer hat Erfahrung mit dem DS1923 ??? Ich schreibe meine Progs mit Bascom. Ich habe meinen iButton am PortC.0 meines ATMega32. Mit: Rom_data(1) = 1wsearchfirst() If Err = 1 Then Ibutton = "iButton error" Else Ibutton = "iButton O.K." End If wird der iButton zwar gefunden, oder auch nicht, wenn ich ihn abstecke. Die Abfrage des Family-Code und der Serial-number war bisher erfolglos. Bitte um Hilfe
In der Bascom Hilfe und im sample Ordner gibt es genug fertige Programme. Vom WEB ganz zu schweigen. Das Zauberwort heißt also Drag and Drop ;-)
Ja, schon, aber nicht für den DS1923! Auch im Buch 'AVR Risc Microcontroller mit Bascom' ist u.A. der DS1920 beschrieben. Aber da es sich beim 1923'er nicht um einen Sensor, sondern um einen Logger mit 8kb Speicher handelt, vermute ich da den Fehler. Ausserdem glaube ich, die Spannungsversorgen mit 'ParasitePower', eine weitere mögliche Ursache sein könnte. Trotzdem müsste ich aber den Family-Code und die SN auslesen können. Variablen bleiben aber leer! Ich dachte halt nur, jemand hat so ein Teil am laufen, der mir ein wenig Source-Code in Basic zukommen lassen könnte. Dann könnt ich bei mir besser auf Fehlersuche gehen! Aber trotzdem ... merci
Ich hab mal meinen abgespeckten Source-Code angehängt. Vielen Dank, für jeden der sich die Zeit nimmt, sich das mal anzuschauen. $regfile = "m32def.dat" $crystal = 16000000 $hwstack = 100 $swstack = 100 $framesize = 100 $baud = 9600 '----------------------------------------------------------------------- --- 'Startvariablen setzen '----------------------------------------------------------------------- --- Dim Rom_data(8) As Byte Dim Ibutton As String * 13 Dim Family_code As Byte Dim Serial_number(6) As Byte Dim Crc As Byte Dim X As Byte Dim Xx As Byte '----------------------------------------------------------------------- --- 'LCD-Display Konfiguration '----------------------------------------------------------------------- --- Lcd_db4 Alias Portb.4 Lcd_db5 Alias Portb.5 Lcd_db6 Alias Portb.6 Lcd_db7 Alias Portb.7 Lcd_e Alias Portc.1 Lcd_rs Alias Portc.2 Config Lcdpin = Pin , Db4 = Lcd_db4 , Db5 = Lcd_db5 , Db6 = Lcd_db6 , Db7 = Lcd_db7 , Rs = Lcd_rs , E = Lcd_e Config Lcd = 20 * 4 Cursor Off Cls '----------------------------------------------------------------------- --- 'iButton 1-Wire devices '----------------------------------------------------------------------- --- Config 1wire = Portc.0 '----------------------------------------------------------------------- --- 'Hauptschleife '----------------------------------------------------------------------- --- Do 1wreset Rom_data(1) = 1wsearchfirst() Wait 2 If Err = 1 Then Ibutton = "iButton error" Else Ibutton = "iButton O.K. " End If Locate 1 , 1 Lcd Ibutton Locate 2 , 1 Lcd "SN :" Family_code = 1wread() For X = 1 To 6 Serial_number(x) = 1wread() Xx = X * 2 Xx = Xx + 3 Locate 2 , Xx Lcd Hex(serial_number(x)) Next Crc = 1wread() Locate 3 , 1 Lcd "FC :" ; Hex(family_code) Locate 4 , 1 Lcd "CRC:" ; Hex(crc) Loop End ' Ergebnis im LCD: '----------------------------------------------------------------------- --- 'iButton O.K. 'SN :000000000000 'FC :00 'CRC:00 '----------------------------------------------------------------------- --- 'Der Family-Code sollte eigentlich 42 sein!
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.