Danke für Eure Antworten
also ich bin nun überzeugt, das nur I2C hier in Frage kommt.
@PickNic
Das war natürlich Blödsinn
@Ratber
es ist egal wie rum ich es schreibe das Resultat ist immer das gleiche
Ich habe nun das Problem, das das der Master nun von -65550 auf null zählt.
Was ist denn nu faul? Irgend ne Idee?
Hier der code vom Master:
Code:$regfile = "M8def.dat" $crystal = 3686000 $baud = 9600 $lib "i2c_twi.lbx" Config Timer1 = Timer , Prescale = 8 Const Timervorgabe = 19456 Config Lcd = 20 * 4 Config Lcdpin = Pin , E = Portd.3 , Rs = Portd.2 , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 Config Scl = Portc.5 Config Sda = Portc.4 I2cinit Config Twi = 100000 Declare Sub Datenholen Declare Sub Zeittakttimer1 'alle 1/10 Sekunden Timer1 overflow Dim B As Byte 'Dim C As Long 'Dim Buf(4) As Byte At C Overlay Dim Buf(4) As Byte Dim C As Long At Buf Overlay Dim Ttakt As Byte Ttakt = 0 B = 0 C = 0 Cls Cursor Off Enable Timer1 Enable Interrupts On Timer1 Zeittakttimer1 Locate 1 , 1 Lcd "TWI master" '------------------------------------------------------------------- Do If Ttakt = 5 Then Gosub Datenholen Locate 2 , 1 Lcd "Startzeichen: " ; Chr(32) ; Chr(32) ; B ; Chr(32) ; Chr(32) Locate 3 , 1 Lcd "Wert: " ; Chr(32) ; Chr(32) ; C ; Chr(32) ; Chr(32) Locate 4 , 1 Lcd "Error : " ; Err Incr B Loop '------------------------------------------------------------------- Datenholen: I2creceive &H40 , Buf(1) , 0 , 4 'C = Buf(1) B = 0 Ttakt = 0 Return Zeittakttimer1: Incr Ttakt Timer1 = Timervorgabe Return End
und der Slave:
muss wohl noch viel lernenCode:$regfile = "m8def.dat" $crystal = 7372800 ' $baud = 9600 $lib "i2c_twi-slave.lbx" Config Pinc.0 = Output Config Pinc.1 = Output Config Twislave = &H40 , Btr = 2 , Bitrate = 100000 Config Scl = Portc.5 Config Sda = Portc.4 Enable Interrupts Dim C As Long Dim D(4) As Byte At C Overlay C = 0 Do Portc.1 = 1 Incr C Waitms 25 Portc.1 = 0 Waitms 25 Loop 'i2c Twi Sub '-------------------------------- Twi_stop_rstart_received: Return '-------------------------------- Twi_addressed_goread: Return '-------------------------------- Twi_addressed_gowrite: Portc.0 = 1 Twi = D(1) Portc.0 = 0 Return '-------------------------------- Twi_gotdata: Return '-------------------------------- Twi_master_needs_byte: Return '-------------------------------- Twi_master_need_nomore_byte: Return Endoder bin ich schon zu alt dafür???
![]()







Zitieren

Lesezeichen