Also, ich konnte mir nun ein wenig selbst weiterhelfen (nach längerem testen...)
Zur Info noch mal ich verwende RN-Control, USB-AVR-Progger von Robotikhardware und ftdi Board für seriell 5V-Pegel
Das ist der Code:
Und jetzt haltet euch gut fest ! Der Code (leicht verändert) funktioniert auch, aber was anderes ist ganz komisch:Code:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 200 $swstack = 200 $framesize = 400 Config Portd.7 = Output Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Waitms 10 'TWI konfigurieren Config Sda = Portc.1 Config Scl = Portc.0 Config Twi = 100000 Dim X As Byte Dim A As Byte Dim B As Byte Dim Lesen As Byte Dim W As Word Dim Inpu As Byte Sound Portd.7 , 400 , 450 Sound Portd.7 , 400 , 250 Sound Portd.7 , 400 , 450 Wait 2 I2cinit Waitms 10 Input "1 = schreiben und 0 = lesen" , Inpu Select Case Inpu Case 1 '---- schreibe in EEprom ---- For A = 1 To 10 W = Getadc(6) 'Messwert Print W X = W / 4 'damit der Speicher reicht Print "Durch 4 geteilt: " ; X Waitms 200 I2cstart 'Start I2C I2cwbyte &HA0 'Sende Slave Adresse I2cwbyte A 'Sende Speicheradresse I2cwbyte X 'Sende Wert I2cstop 'Stop I2C Waitms 10 'warte 10ms Print "ins EEprom = " ; X ; " " ' Ausgabe der geschriebenen Werte Print Print Waitms 500 Next A Sound Portd.7 , 400 , 450 'damit ich weiß, wann er fertig ist Waitms 40 Sound Portd.7 , 400 , 450 Case 0 '--- lesen vom EEprom ---- For B = 1 To 10 I2cstart 'Start I2C I2cwbyte &HA0 'sende Slave Adresse I2cwbyte B 'sende Speicheradresse I2cstart 'Start I2C I2cwbyte &HA1 'sende Slave Adresse +1 für Lesen I2crbyte Lesen , Nack 'lese Adresse vom EEprom I2cstop 'Stop I2C Print "Lese EEprom= " ; Lesen ; " " 'Ausgabe der EEprom Werte Waitms 500 Sound Portd.7 , 400 , 450 'damit ich weiß, wann er fertig ist Waitms 40 Sound Portd.7 , 400 , 450 Next B End Select End
Als ich es jetzt getestet hatte habe ich erst das Programm geproggt, seriell angesteckt, lesen oder schreiben gedrückt, den M32 machen lassen, dann ausgeschaltet, seriell abgesteckt, wieder angesteckt, wieder angeschaltet, und wieder einen Taster gedrückt.............
So hat der Code funktioniert. Wenn ich aber den seriellen Anschluss dran lasse und dann direkt wieder anschaltet funktioniert gar nichts mehr. ????
Meine Vermutung (die hört sich ein wenig blöde an): Es muss irgendwie die Leitung beim seriellen Kram "verstopft" sein oder irgend sowas ?????








Zitieren

Lesezeichen