Gast
#3431108
Moin, Bin gerade dabei eine ECU für meine modellturbine zu bauen, 16x2 lcd, Mega8, lcd routine aus dem tut leicht verändert so, dass E und RS an PORTB hängen, obwohl die daten durch PORTC laufen. Das funnktioniert soweit alles einwandfrei und sollte mit dem Problem (eigentlich) nichts zu tuhen haben. Die Sache ist, dass ich zwecks Abgastemperatur ein thermoelement mit Op am ADC4 (PC4) hängen habe. Wenn ich jetzt den ADC arbeiten lasse mit: ;ADC initialisierung ldi temp, 0b01000100 sts ADMUX, temp ; 2.56V Referenz, Left Adjust, PC4 ... ldi temp, 0b11000100 sts ADCSRA, temp ;Start ADC conversion readADCvalue: lds temp, ADCSRA sbrc temp, 6 ; 0 wenn fertig rjmp readADCvalue lds temperaturL, ADCL lds temperaturH, ADCH Bleibt das rogramm in der schleife hängen. ADSC wird also nie 0. Wenn ich die schleife weg lasse und auf free running stelle, bzw es mit interupt versuche bleibt nichts mehr hängen, aber aus ADCH und ADCL kommt immer die gleiche Zahl. Wenn ich innerhalb vom hängenden loop den Wert von temp aufs Display ausgebe bekomme ich erwartungsgemäß 11000100, also das gleiche, was ich oben in ADCSRA geladen habe. Könnte es sein, dass das an der PORTC verwendung vom LCD lieg? Aber dan sollte das ding ja zumindest die konvertierung abschließen können oder? Kann mir da jemand helfen? Bin am ende meines wissens was das angeht. Der volle (wohl etwas unübersichtliche) code steht im Anhang. Danke schon mal Amper