Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo Frank, > > > > > Ich habe Dein Programm auf die C-control geladen, leider funktioniert es immer noch nicht. Hier ein kleiner Auszug: > > > 3462 Error 24234<>24261 3464 Error 24248<>24088 > > > 3470 Error 24290<>24280 3472 Error 24304<>32496 3474 Error 24318<>32510 > > > 3476 Error 24332<>32556 3478 Error 24346<>32570 3480 Error 24360<>32552 > > > 3482 Error 24374<>32566 3484 Error 24388<>32612 und so weiter! > > > Was mache ich falsch? Meine Haussteuerung funktioniert einwandfrei. Werte im > > > eeprom ablegen und auslesen geht super. > > > > Es sieht nach Übertragungsfehler am Bus aus. > > "Error 24234<>24261" heißt, daß das geschriebene Byte nicht mit dem gelesenen übereinstimmt. > > Der erste Wert ist der geschriebene, der zweite der zurückgelesene. > > Das High-Byte scheint in vielen Fällen korrekt zu sein, das Low-Byte ist immer fehlerhaft. > > Jetzt ist noch zu klären, ob die Übertragungsfehler bereits beim Schreiben auftreten, oder > > erst beim Auslesen. > > > > Was hängt noch alles am Bus bzw. kannst Du testweise nur das RAM-Device am I²C-Bus anschließen? > > Du kannst dann als erstes nur das Device auslesen, ohne es nochmals zu beschreiben: > > <code>const RAM4Addr=10; > > > > thread main > > {long i;int x,y;long timer; > > hwcom.setspeed(8); > > hwcom.clr(); > > hwcom.print("Version: "); > > hwcom.num(ramhs4.getVersion(RAM4Addr)); > > hwcom.ret(); > > > > hwcom.print("Reading RAM ... "); > > hwcom.ret(); > > for i=0...16000/*0x7FFFE*/ step 2 > > { > > if (i%512)==0 > > { > > hwcom.put(13); > > hwcom.num(i); > > }//*/ > > x=ramhs4.readint(RAM4Addr,i); > > y=((i*7) and 0xFFFF); > > if x!=y > > { > > hwcom.put(13); > > hwcom.num(i); > > hwcom.print(" Error "); > > hwcom.num(y); > > hwcom.print("<>"); > > hwcom.num(x); > > hwcom.ret(); > > } > > } > > hwcom.put(13); > > hwcom.num(i); > > hwcom.ret(); > > hwcom.print("Ready"); > > hwcom.ret(); > > quit 1; > > }</code> > > > > Wenn nun keine Fehler angezeigt werden, finden während dem Lesen Übertragungsfehler statt. > > Wenn aber Fehler angezeigt werden, lasse das ursprüngliche Programm nochmals laufen, > > um das RAM-Device nochmals zu beschreiben. > > Wenn nun keine Datenfehler gemeldet werden, wird der Bus wahrscheinlich bereits im > > Grenzbereich betrieben. > > Abhilfe würden dann Puffer oder Tranceiver für den restlichen Bus schaffen. (je nach Buslänge) > > > > MfG André H. > > > > > Hallo Andre > > Am Bus habe ich soweit alles abgeklemmt, aber leider habe ich immer noch lauter > Fehler Meldungen (Error) auch bei dem neuem Programm. > Was mir nur auffällt ist, das die Fehler immer erst ab der sechsten Reihe beginnen. > Danke für die Hilfe. > MFG > Frank