Nabend
hab mom ein kleines Problem und komme da nicht weiter :(
da ja in Bascom kein mehrdimensionales Array geht komme ich hier nicht
weiter.
habe momentan 2 ds1820 am 1wire hängen, ich wollte jetzt die ID der
DS1820 abspeichern und den einen Namen geben, so das ich sie später
immer wieder aufrufen kann.
hab hier erstmal den code wo ich sie auslesen und anzeigen lassen kann,
aber komme nicht weiter mit dem abspeichern. wobei hier noch ein problem
ist da der name "ID" und der hex als string abgespeichert wird, was mir
nix bringt.
1 | '-------------------------------------------'
|
2 | ' Mikrocontroller/Chip '
|
3 | '-------------------------------------------'
|
4 | $regfile = "m32def.dat" 'ATMEGA32 Registerdatei
|
5 | $crystal = 8000000 'Externer Quarz 8Mhz
|
6 | $hwstack = 40 'HardwareStack
|
7 | $swstack = 16 'SoftwareStack
|
8 | $framesize = 32 'Framesize
|
9 | $baud = 9600 'Baudrate
|
10 |
|
11 | '-------------------------------------------'
|
12 | ' LCD Konfiguration '
|
13 | '-------------------------------------------'
|
14 | 'Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , _
|
15 | ' Db7 = Portb.7 , E = Portb.0 , Rs = Portb.1
|
16 | 'Config Lcd = 16 * 2
|
17 |
|
18 |
|
19 | '-------------------------------------------'
|
20 | ' 1Wire Konfiguration '
|
21 | '-------------------------------------------'
|
22 | Config 1wire = Porta.1
|
23 |
|
24 |
|
25 | '-------------------------------------------'
|
26 | ' Deklarationen '
|
27 | '-------------------------------------------'
|
28 | Declare Sub Sensorsuche()
|
29 |
|
30 | Declare Sub Sensorinfo()
|
31 |
|
32 | '-------------------------------------------'
|
33 | ' Variablen '
|
34 | '-------------------------------------------'
|
35 |
|
36 | Dim Ds_id(8) As Byte
|
37 | Dim Index(16) As String * 16
|
38 | Dim I As Byte
|
39 | Dim Anzahl As Word
|
40 | Dim Sensor As Byte
|
41 |
|
42 |
|
43 | '-------------------------------------------'
|
44 | ' Main '
|
45 | '-------------------------------------------'
|
46 | Call Sensorinfo()
|
47 | Wait 2
|
48 | Call Sensorsuche()
|
49 | Call Sensorinfo()
|
50 |
|
51 | Do
|
52 | nop
|
53 | Loop
|
54 |
|
55 | End
|
56 |
|
57 |
|
58 | '******************************************************************************'
|
59 |
|
60 | '-------------------------------------------'
|
61 | ' Subroutinen '
|
62 | '-------------------------------------------'
|
63 |
|
64 | Sub Sensorsuche()
|
65 | 1wreset
|
66 | Anzahl = 1wirecount()
|
67 | Ds_id(1) = 1wsearchfirst()
|
68 | For I = 1 To 8
|
69 | Index(1) = Index(1) + Hex(ds_id(i))
|
70 | Next I
|
71 |
|
72 | For Sensor = 2 To Anzahl
|
73 | Ds_id(1) = 1wsearchnext()
|
74 | For I = 1 To 8
|
75 | Index(sensor) = Index(sensor) + Hex(ds_id(i))
|
76 | Next
|
77 | Next Sensor
|
78 | End Sub
|
79 |
|
80 | Sub Sensorinfo()
|
81 | If Anzahl = 0 Then
|
82 | Print "Keine Sensoren gefunden, suche..."
|
83 | Exit Sub
|
84 | End If
|
85 |
|
86 | Print "Sensoren: " ; Anzahl
|
87 | For I = 1 To Anzahl
|
88 | Print "Sensor " ; I ; ": " ; Index(i)
|
89 | Next I
|
90 | End Sub
|
und verstehe nicht wenn ich es in putty anzeigen lasse kommt die
sensorinfo am anfang immer doppelt. ka wieso