Zitat Zitat von nerofighter
HI
Nun meine Frage an sie und bitte antworten sie ehrlich... Verwendet der RNST01 die originalen I2C Routinen??? Also die identischen wie die von Philips? Weil hier im Forum hatte jemand schon mal die gleichen Problemen. Das wäre die einzigste Möglichkeiten, das der RNST01 auf eine "bisschen" andere Routine nur anspringt. Weil die I2C Routine die ich mit einem Freund programmiert habe ist identisch zur STANDART i2c!
mfg. nero
Ich habe auch bisher ehrlich geantwortet. Ich hab dir doch nun schon zweimal den Sachverhalt versucht zu erklären, einmal per Mail und einmal oben. Du musst auch schon ein wenig beachten was ich schreibe, sonst nützt es wenig.

Zum dritten mal:

Natürlich nutzt der Baustein das Standard I2C Protokoll wie es definiert wurde. Aber das RN-Motor macht auch von diesem Clock-Stretching (so heißt es glaube genau) gebrauch. Das bedeutet es zieht die Clock Leitung manchmal etwas länger auf GND (bei manchen Befehlen über eine Millisekunde). Dadurch muss der Master kurz warten. Dies ist in der Fachliteratur zum I2C-Bus gut beschrieben und alle I2C-Routinen die sich wirklich 100% an den Standard halten werden damit keine Probleme haben.
Aber da früher nur wenige oder kaum I2C-Bausteine dieses Clock-Stretching benutzt haben, haben viele Programmierer recht schnell I2C-Routinen zusammengezimmert die diese Überwachung der Clock Leitung einfach weglassen. Dadurch funktioniert die Ansteuerung vieler I2C-Bausteine immer noch, aber eben nicht mehr alle können angesteuert werden (dazu gehört auch die momentane RN-Motor Firmware).
Bei neuen Compilern wie Bascom ist das schon länger berücksichtigt. Ob das z.B. auch in GCC schon der Fall ist weiss ich nicht.
Also das müsste dein Programmierer der I2C-Routinen prüfen - vielen ist das Clock Stretching noch unbekannt. Am besten du erklärst es ihm.

Das wäre aber nur eine Annahme warum es bei dir noch Problemchen gibt. Natürlich ist durchaus auch denkbar das du noch irgendwo einen Schaltungsfehler drin hast oder einfach von der Syntax der Befehle was falsch machst. Das kann ich ohne Beispielprogramm nicht beurteilen. Ich kann dir nur sagen das es normalerweise sehr gut funktioniert.

Noch eins: DIe RS232 Schnittstelle ist bei diesem Baustein ja nur zur Ausgabe von kurzen Rückmeldungen vorgesehen. Du kannst mit dem Terminalprogramm keine Befehle übergeben!

Hoffe das hilft dir nun weiter.