Gast
#322781
Hi zusammen,
bin dabei einen Drehimplusgeber zu testen. Ich programmiere mit einem
Atmega32 in C. Den Drehgeber funktioniert schon zum testen... aber
möchte jetzt weiter machen aber leider habe ich noch keine ideen wie
ich mein Problem lösen könnte!
Ich möchte es so machen, dass wenn ich ein bisschen nach rechts drehe,
eine Temperatur von 30° zum bsp einstellen auf mein LCD, wenn ich dann
ein besschen weiter drehe dann 50° anzeigen, noch weiter dann 60°.....
Aber wie soll ich dass zusammen mit mein Drehimplusgeber programm
kombinieren???
Hier ist mein code zum Drehimpulsgeber:
#define PHASE_A (!(PINA & 1<<PINA6)) // PINA.6
#define PHASE_B (!(PINA & 1<<PINA4)) // PINA.4
void Timer0_interrupt(void)
{
static char enc_last = 0x01;
char i = 0;
if( PHASE_A ) // Einlesen des Signals
i = 1;
if( PHASE_B ) // Einlesen des Signals
i ^= 3; // convert gray to binary
i -= enc_last; // difference new - last
if( i & 1 ) // bit 0 = value (1)
{
enc_last += i; // store new as next last
enc_delta += (i & 2) - 1; // bit 1 = direction (+/-)
}
}
Die Ausgabe auf mein LCD mache ich mit einer lcd_ausgabe fkt!
Wäre sehr nett, wenn mir jemand weiterhilft :-)
Danke