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> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Hallo Stefan, Hallo Ihr alle. > > Hier mein Drehgeber-Code für Handbedienung. > Der code erkennt vorwärts und rückwerts und zählt entsprechend mit. > Es werden zwei freie Ports genommen, hier Taste1 und Taste2. > je nach dem in welcher Reihenfolge es zur Pegeländerung kommt, > so ist die Drehrichtung. > Hier nun der Code: > > //Diese Routine erkennt die Bewegungen eines Drehgebers > //zur Erfassung der Pegeländerungen > > //------------------------------------------------------------------------------ > // Drehgeber1 > // > void Drehgeber1(void) > { > //int Drehgeber11, Drehgeber12; > > if (Port_ReadBit(Taste2) == 0) > { > AbsDelay(100); //da mechanisch: entprellen!!! > if (Port_ReadBit(Taste2) == 0) > { > if (Port_ReadBit(Taste1) == 0) > { > PegelM1++; //hochzählen > if(PegelM1>=38) PegelM1 = 38; //Zählgrenze nach oben (39 Schritte) > } > else > { > PegelM1--; //runterzählen > if(PegelM1<=0) PegelM1 = 0; //nicht kleiner als 0 werden > } > } > } > } > > Das ganze ist eine Unterprogramm, die Auswertung erfolgt in einem anderen Programmteil. > > Ich hoffe ich konnte noch helfen. > > Gruß Bernd der Alte > > > > > Hallo Stefan, > > > > die Auswertung eines Drehgebers direkt mit dem Mega128 geht von Grundsatz her, > > hängt aber sehr stark davon ab wie schnell Deine Impulse vom Drehgeber kommen, > > und was Du mit dem Mega128 parallel sonst noch machen willst. > > > > Ich bin hier bei einer 3-Achsen Schrittmotorsteuerung mit Drehgebern und Bahninterpolation sehr > > schnell an die (zeitlichen) Grenzen des Mega128 gestoßen, da ich zusätzlich noch RS232 und > > Display und Tastenabfrage bedienen mußte. > > > > Jehr nachdem wie ich meine Interrupts gelegt habe ist mal ein Drehgeberimpuls verlohren gegangen > > oder der Schrittmotor hat zu stottern angefangen. > > > > Wenn Du Dir viel Zeit und Nerven sparen willst guck mal auf die Seite www.trinamic.com > > Hier gibts Bausteine die zwar etwas Geld kosten, Dir aber die Impuszählerei komplett abnehmen, > > desweiteren auch noch die Impulse für den Schrittmotor bilden. > > > > Anzusprechen über SPI und teilweise über I2C > > > > gruß ortwin > > > >