Hi Darwin,
so hab ich es nicht gesagt, da hast du mich etwas missverstanden. Ich meinte in der I2C Lib bei der Version 1.11.7.4 war ein Bug. In der brandneuen Version sollte diese eigentlich korrigiert sein.
Ich hab die neue version aber noch nicht getestet, da die Vollversionen noch nicht als Update bereitstehen. Hoffe kommen auch bald.
Ich nehme aber mal an das in der neuen version auch der Hardware I2C-Bus unterstützt wird. Eventuell ist da unter den Optionen ein Schalter wo zwischen Soft- und Hardware I2C umgeschaltet werden kann. Bedenkt das der Hardware I2C immer auf ganz bestimmten Leitungen liegt.
HI
Na dann!
Liebe Grüße und guten Rutsch!; Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Das kann aber nicht Sinn der Sache sein. Die neue Lib sollte viel leistungsfähiger sein. Ab besten nochmal checken ob nicht doch irgendwoanders das problem liegt - z.B. wie schon gesagt bei der Konfigurierung!
HI
Also ich habe gerade festgestellt, dass mein Mega auch kein I²C Signal rausschickt.
Ich habe mir schon die neue i2c.lib runtergezogen.
Gibt es denn keinen Standard, wie man das macht?
Oder unterstützt die neue Lib auch den Hardware TWI?
Welche 'Schalter' muss man denn umlegen?
Mein Quellcode:
$regfile = "m16def.dat"
$baud = 9600
$crystal = 16000000
$lib "i2c.lib"
Beep Alias Portd.2
Config Sda = Portc.1
Config Scl = Portc.0
Const 24c64 = &B1010_0000
Dim Var As Byte
I2cinit
Do
Sound Beep , 300 , 100
Print "Beginne mit EEPROM-Experiment 1."
Print "Lese aus 24C64!"
I2csend 24c64 , 1
I2csend 24c64 , 1
I2creceive 24c64 , Var
Print "Ergebniss: " ; Str(var)
Sound Beep , 500 , 500
Var = 123
Print "Beginne mit EEPROM-Experiment 2."
Print "Schreibe in 24C64!"
I2csend 24c64 , 1 , 1 , Var
Print "Fertig. Ich schrieb: " ; Str(var)
Sound Beep , 300 , 1500
Loop
End
Es geht mal nicht um das 24C64, sonder allgemein: Es kommt zu portc.0 und portc.1 NIX raus.
Was mache ich denn falsch?
Ganz liebe Grüße und ruten Rutsch,
Tobi
PS:
Ich habe noch die 1.11.7.4.
Meine PullUps sind Metallschicht mit 4,7kOhm.
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Erstmal, ein gesunes neues... (hicks)
Ich hatte ähnliche Probleme, welche zwei Ursachen hatten:
1. Nachdem ich, wie von Frank empfohlen, auf SCL und SDA jeweils einen 10k pullup Widerstand (nach VCC) geschaltet habe gings.
2. Außerdem solltest Du prüfen, ob das JTAG in den Configurration & Fusebits ausgeschaltet hast (da habe ich auch lange dran gesucht bis ich drauf kam)
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
HI
Auch erst mal ein frohes neues Jahr!
Das JTAG ist ausgeschaltet.
Ich habe irgendwo gelesen, dass Phillips im I²C-Standard
empfohlen haben soll, 4,7kOhm zu nutzen.
Übrigens: Netter Avatar. Ist das Sony?
Liebe Grüße, Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Da hat du recht, aber für's erste hat es doch geholfen,Zitat von Frank
und es funktioniert, bis weitere Erkenntnisse / Dokumentation zur Verfügung stehen.
ODER?
Klar ist das nicht so sauber und vermutlich auch nicht im Sinne des Erfinders, doch was will man machen wenn es keinen (momentan) anderen Weg gibt, welcher auf die Schnelle zum Ziel führt. In der Konsequenz muss man anmerken dass durch solche Versäumnisse auch die 'schlechten' Programme erzwungen werden, von denen man dann immer hört. Die, welche einwandfrei arbeiten 'kratzen keine alte Sau'.
Gruss
Darwin (meine Projekte sind auf meiner Pinnwand zu finden)
Ich glaube schon, ist auf jeden Fall von der Page.Zitat von tobimc
Ich Arbeite mit den 10 Kilo's und es funktioiert (bisher) problemlos.
Guckst Du Da:
https://www.roboternetz.de/phpBB2/ze...rag.php?t=5601
HI
Hm. Ich guck' mal. Ich bau mal schnell andere Widerstände ein...
Meinst du das hilft?
Liebe Grüße, Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Lesezeichen