Witam!
Siedzę nad tym już od kilku dni i nie mogę znaleźć rozwiązania. Chcę sterować pętlą (język C), konkretniej kończyć ją w momencie pojawienia się stanu logicznego 0 na jednym z bitów np. portu B. Napisałem program ale nie mam pojęcia jak odnosić się do wartości stanów tych bitów - zamiast 0 lub 1 wyświetla mi tylko wartość np. dla PB7 daje 7, PB6 daje 6.
Przeczytałem gdzieś, że (PINB,x) daje stan logiczny w porcie B na pinie X ale to mi wybitnie nie działa bo pokazuje tylko konkretny numer portu czyli x, jak uzyskać stan logiczny?
Proszę o pomoc.
>Poprawiłem tytuł i przeniosłem do właściwego działu<
[zumek]
Siedzę nad tym już od kilku dni i nie mogę znaleźć rozwiązania. Chcę sterować pętlą (język C), konkretniej kończyć ją w momencie pojawienia się stanu logicznego 0 na jednym z bitów np. portu B. Napisałem program ale nie mam pojęcia jak odnosić się do wartości stanów tych bitów - zamiast 0 lub 1 wyświetla mi tylko wartość np. dla PB7 daje 7, PB6 daje 6.
DDRB = 0x00;
PORTB = 0xFF;
while((PINB,7)!=0)
{
if((PINB,6)==0)
{
podstawa_czasu+=100;
}
if((PINB,5)==0)
{
podstawa_czasu-=100;
}
}
Przeczytałem gdzieś, że (PINB,x) daje stan logiczny w porcie B na pinie X ale to mi wybitnie nie działa bo pokazuje tylko konkretny numer portu czyli x, jak uzyskać stan logiczny?
Proszę o pomoc.
>Poprawiłem tytuł i przeniosłem do właściwego działu<
[zumek]