-
so es geht wieder alles \:D/
aber nicht die messung ;)
mein aufbau sieht so aus:
|----LDR----|----kondensator(10µf)---|
|................|................................ ......|
|vcc...........|port c pin 7.....................|gnd
mein code sieht so aus:
Code:
int Counter;
waitms(1000);
char result[10];
DDRD |= 0xB0;
setportdon(7);
waitms(1000);
DDRD |= 0x30;
Counter=0;
while (!(PIND & (1 << PD7)))
{
Counter++;
_delay_us(10);
}
snprintf (result, (size_t)10, "%d", Counter);
lcd_clrscr();
waitms(1000);
lcd_puts(result);
also pasiern soll folgendes:
Kondensator entleeren portc7 auf low als output
dann als input warten bis spannung anliegt (kondensator voll)
dann die benötigte zeit am lcd ausgeben
aber es kommt immer '0' raus
was mach ich falsch???
-
mit
DDRD |= 0x30;
werden nur Bits gesetzt, aber keine gelöscht. PD7 bleibt also immer als Ausgang.
Zum entladen des Kondensators sollte man auch ein Low ausgeben.
-
jjjjjuuuuuuuuuuuuuuuhuuu =D>
das war mal ein tipp alles geht
vielen dank an alle \:D/ =D> \:D/