Re: ramhs4 Kategorie: Sonstige Hardware (von FRANK - 19.04.2009 17:32) | ||
Als Antwort auf Re: ramhs4 von André H. - 13.04.2009 15:32 | ||
| ||
> 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: > 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; > } > > 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 | ||
Antwort schreiben Antworten: Re: ramhs4 (von André H. - 3.05.2009 11:47) |