Re: I2C Befehlsfolge Kategorie: Programmierung (von André H. - 30.01.2005 12:39) | ||
Als Antwort auf Re: I2C Befehlsfolge von Harald Kotte - 28.01.2005 10:32 | ||
| ||
Hallo Harald, > die Kombi aus RN-Motor und CC2 benutze ich auch und hatte anfangs gleiche Probleme. > Die Ursache liegt nicht in Deiner Programmierung, sondern in der Lese- und > Schreibgeschwindigkeit des Motorcontrollers auf dem Bus. > Was funktioniert sieht programmtechnisch nicht schön aus, aber was soll es... > > > //------------------------------------------- > function direction (byte motor, byte direct) > //------------------------------------------- > { > /* Motor Drehrichtung */ > i2c.cstart(0x56); sleep 10; > i2c.write (10); sleep 10; > i2c.write (04); sleep 10; > i2c.write (motor); sleep 10; > i2c.write (direct); sleep 10; > i2c.write (0); sleep 10; > i2c.stop(); > > sleep 100; > > } > Das ist natürlich ein dickes Ding. RN-Motor ist somit nicht I²C-Bus-Konform ! Ich frage mich, warum Frank vom Roboternetz nicht die Interrupts für das TWI des ATMegas nutzt. Damit würde es diese Verzögerungen mit Sicherheit nicht geben. Vielleicht gibt Ihm einmal jemand einen einen kleinen Tip, damit er diesen Bug in seiner Firmware beseitigt. Denn das kann man nur als Bug sehen. (Sogar als fatalen) Denn normal sollte aus C2 heraus diese Rooutine höchstens ein paar ms dauern. Su dauert sie jedoch über 60ms und blockiert somit solange unnötig den I²C-Bus. MfG André H. Antworten bitte nur ins Forum! Fragen per EMail auf Forum-Postings werden nicht beantwortet! Das macht meine Heizung gerade | ||
Antwort schreiben Antworten: Re: I2C Befehlsfolge (von Harald Kotte - 31.01.2005 15:11) Re: I2C Befehlsfolge (von Frank - 31.01.2005 19:31) Re: I2C Befehlsfolge (von André H. - 5.02.2005 9:43) Re: I2C Befehlsfolge (von Frank - 12.02.2005 16:30) Re: I2C Befehlsfolge (von Thomas - 12.02.2005 22:41) Re: I2C Befehlsfolge (von Frank - 13.02.2005 15:43) Re: I2C Befehlsfolge (von André H. - 20.02.2005 13:52) |