Option Explicit
Private
Sub
Command_CHIPK_S_Click()
'Text auf Karte schreiben
Dim AnzG, Anz,
ZZ, A, W, I, II, StByAdr Dim
Zeichen As
String AnzG =
Len(TextBox_CHIPK_S.Text)
'Anzahl Zeichen ermitteln
MsgBox ("Schreibe "
& AnzG & " Zeichen")
'Meldung ausgeben
ZZ = 0
'Zeichen-Zeiger auf 1 setzen
StByAdr = 0
'Start-Byteadresse auf 0 Setzen
For I = 0
To 31
'Blockschleife max. 32*8=256
Bytes
If AnzG - ZZ < 8
Then
'Wie viele zeichen werden
geschrieben Anz
= AnzG - ZZ
'Restliche Zeichen
Else
Anz = 8
'8 Zeichen
End
If
SENDBYTE (64 + Anz)
'Befehl 64 = Multiwrite +
(Anzahl Bytes -1) SENDBYTE (160)
'Bus-Adresse der I2C-Chipkarte
SENDBYTE (StByAdr)
'START-Byteadresse übertragen
For
II = 1 To Anz
Zeichen = Mid$(TextBox_CHIPK_S.Text, _
II + ZZ, 1)
'Ein Zeichen aus der Textbox
holen W = Asc(Zeichen)
'ASCI-Umwandlung
If W > 255
Then W = 0
'ungültiges Zeichen
SENDBYTE (W)
'Wert ausgeben
Next II
ZZ = ZZ + Anz
'Zeichen-Zeiger erhöhen
StByAdr = StByAdr + 8
'Start-Byteadresse erhöhen
A = READBYTE
'Status vom Modem abfragen
If
A = 192 Then
TextBox_LESE_16.Text = "OK"
Else
TextBox_LESE_16.Text = "FEHLER
" & A
End
If
If ZZ = AnzG
Then
Exit
For
'FERTIG ?
Next I
End
Sub
Private
Sub
Command_CHIPK_L_Click() 'Text
von Karte lesen Dim
A, W, I, II TextBox_CHIPK_L.Text =
""
'Textbox löschen
For I = 0
To 31
'Blockschleife max. 32*8=256
Bytes '1.
START-Byteadresse übertragen SENDBYTE (64)
'Befehl 64 = Multiwrite +
(Anzahl Bytes -1) SENDBYTE (160)
'Bus-Adresse der I2C-Chipkarte
SENDBYTE (I * 8)
'START-Byteadresse übertragen
A = READBYTE
'Status vom Modem abfragen
If A = 192
Then
TextBox_LESE_16.Text = "OK"
Else
TextBox_LESE_16.Text = "FEHLER
" & A MsgBox ("Fehler
beim Schreiben der Start-Adresse" & I * 8)
Exit
Sub
End
If
'2. Daten-Bytes auslesen
SENDBYTE (128 + 7)
'Befehl 128 = Multiread +
(Anzahl Bytes -1) SENDBYTE (160)
'Bus-Adresse zur I2C-Chipkarte
schreiben A = READBYTE
'Status vom Modem abfragen
If A = 192
Then
TextBox_LESE_16.Text = "OK"
Do
'Puffer auslesen
W = READBYTE
If W = -1
Then
Exit
Do
TextBox_CHIPK_L.Text = _
TextBox_CHIPK_L.Text & Chr(W)
'Zeichen in Textbox eintragen
Loop
Else
TextBox_LESE_16.Text =
"LESEFEHLER " & A
End
If
Next I
End
Sub
Private
Sub
Command_CHIPK_CLR_Click()
'Karte löschen
Dim A, W, I, II
Dim Zeichen
As
String
For I = 0
To 31
'Blockschleife max. 32*8=256
Bytes SENDBYTE (64 + 8)
'Befehl 64 = Multiwrite +
(Anzahl Bytes -1) SENDBYTE (160)
'Bus-Adresse der I2C-Chipkarte
SENDBYTE (I * 8)
'START-Byteadresse übertragen
For II = 1
To 8
SENDBYTE (0)
'0 senden
Next II
A = READBYTE
'Status vom Modem abfragen
If
A = 192 Then
TextBox_LESE_16.Text = "OK"
Else
TextBox_LESE_16.Text = "FEHLER
" & A
End
If
Next I
End
Sub
Beispiele als Excel Makro |
|
Bausätze können Sie günstig in unserem Onlineshop in der Rubrik
"I2C-Komponenten" bestellen. |
|