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!