Jacob2
28.07.2008, 15:34
Hi,
ich will das Ausgangssignal des US-Abstandwarners, welches ca. 12V beträgt (wahrscheinlich n'bisschen weniger) an einem Pin abfragen. Die Beschaltung des Pins im Bild. Programmiert habe ich den AVR mit folgendem:
#include <avr\io.h>
int main (void)
{
DDRA = 0b00000011;
PORTA = 0b11111100; //Pull Up ein
while(1)
{
if(bit_is_set(PORTA, 7))
{
PORTA &= 0b11111100;
}
else
{
PORTA |= 0b0000011;
}
}
return 0;
}
Dies soll bewirken, dass wenn das Signal kommt, Pin 0 und 1 low werden. Sonst high. Da es nicht funktioniert die Frage, was hab ich falsch gemacht?
[Edit] (kann sein dass ich bei den &= , |= oder so was verdreht hab)
ich will das Ausgangssignal des US-Abstandwarners, welches ca. 12V beträgt (wahrscheinlich n'bisschen weniger) an einem Pin abfragen. Die Beschaltung des Pins im Bild. Programmiert habe ich den AVR mit folgendem:
#include <avr\io.h>
int main (void)
{
DDRA = 0b00000011;
PORTA = 0b11111100; //Pull Up ein
while(1)
{
if(bit_is_set(PORTA, 7))
{
PORTA &= 0b11111100;
}
else
{
PORTA |= 0b0000011;
}
}
return 0;
}
Dies soll bewirken, dass wenn das Signal kommt, Pin 0 und 1 low werden. Sonst high. Da es nicht funktioniert die Frage, was hab ich falsch gemacht?
[Edit] (kann sein dass ich bei den &= , |= oder so was verdreht hab)