Hi!
@Hubert.G
Ich meinte mit dem löschen z.B. wird auf dem Display
die Zahl 1023 angezeit. Dreht man an dem Poti
bekommt man z.B. die Zahl 745.
Also ist man unter der Tausender
quasi sollte die 1 gelöscht werden
da nur dreistellig. Beispiel:
1023
745 die tausender stelle bleibt leer
Aber auf Display wird angezeigt 1745
hoffentlich ist das jetzt besser erklärt
Ich habe das löschen dann mit dem Befehl
Code:
lcd_gotoxy(16,0);
lcd_putc(254);
hin bekommen
Code:
int main(void)
{
uint16_t readADC(uint8_t channel)
{
uint8_t i;
uint16_t result = 0;
// Den ADC aktivieren und Teilungsfaktor auf 64 stellen
ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);
// Kanal des Multiplexers waehlen
ADMUX = channel;
// Interne Referenzspannung verwenden (also 2,56 V)
// ADMUX |= (1<<REFS1) | (1<<REFS0);
//AVCC als Referenzspannung verwenden
ADMUX |= (1<<REFS0);
// Den ADC initialisieren und einen sog. Dummyreadout machen
ADCSRA |= (1<<ADSC);
while(ADCSRA & (1<<ADSC));
// Jetzt 3x die analoge Spannung and Kanal channel auslesen
// und dann Durchschnittswert ausrechnen.
for(i=0; i<4; i++) {
// Eine Wandlung
ADCSRA |= (1<<ADSC);
// Auf Ergebnis warten...
while(ADCSRA & (1<<ADSC));
result += ADCW;
}
// ADC wieder deaktivieren
ADCSRA &= ~(1<<ADEN);
result /= 4;
return result;
}
if (result < 1000)
{
lcd_gotoxy(16,0);
cd_putc(254);
lcd_gotoxy(13,0);
itoa (result, buffer, 10);
lcd_puts(buffer);
}
if (result < 100)
{
lcd_gotoxy(15,0);
lcd_putc(254);
lcd_gotoxy(13,0);
itoa (result, buffer, 10);
lcd_puts(buffer);
}
if (result > 1000)
{
lcd_gotoxy(13,0);
itoa (result, buffer, 10);
lcd_puts(buffer);
}
Weißt du wie man eine Hyperbel berechnet? Ich habe eine Funktion aber mir fehlt die Gleichung.
Lesezeichen