So, ich wollt mich jetzt auch mal am I2C versuchen, bis jetzt leider noch ohne erfolg^^ . Aber vllt könnt ihr mir ja weiterhelfen. Hier mal meine codes:
Master:
Code:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
Config Portc = Output
Enable Interrupts
Enable Int2
On Int2 Int2_isr
Int2_isr:
I2cstart
I2cwbyte 255
Portc = 0
I2cstop
Dim A As Byte
Dim I As Byte
Do ' Hier beginnt die schleife
A = 1 'A = 1 (erste LED)
For I = 63 To 1 Step -1 'Alles was zwischen For und NEXT steht wird so lange wiederholz bis I = 7 ist
Portc = A ' A wird in Portc geladen
Waitms 200
A = A + 1 ' A wird Verdoppelt sodass im nächsten durchgang A =2 ist im übernächsten 4 usw..
Next ' Springt wieder zu For! Wenn I = 7 ist gehts im Programm weiter
Loop ' Spring wieder zu DO, alles beginnt von vorne, A wird wieder auf 1 gesetzt und durchläuft dann wieder die FOR NEXT schleife 7mal..
End
Return
Slave:
Code:
$regfile = "m8def.dat"
$crystal = 8000000
$baud = 9600
Dim Val As Byte
Config Portd = Output
Portd.6 = 1
Portd.7 = 1
Wait 5
Portd.2 = 0
I2crbyte Val
If Val = 255 Then
Portd.7 = 0
Wait 1
Else
Portd.7 = 1
End If
Ziel wäre, dass beim Slave nach der I2C kommunikation mit dem Master PD.7 auf 0 Stellt, was er aber bis jetzt nicht macht.
wo liegt der fehler, bzw. was mach ich falsch?
gruss
serge
Lesezeichen