Witam. Mam pytanie odnośnie stanów na magistrali 1-wire. Wiem że ustawiając stan wysoki na pinie mikro kontrolera ustawiam tam 1, a ustawiając stan niski 0.
Jednak ponieważ zająłem się teraz rozpracowywaniem magistrali 1 -wire nastąpił pewien zgrzyt mianowicie w wyrażeniu : clr_wire DDRB|=(1<<0); jak sama nazwa wskazuje magistrala powinna być wyczyszczona ... czyli 0 no a jednak ustawia się ją na wyjście(przy okazji trzeba wtedy ustawić 1 na porcie aby to działało? znaczy w tym przypadku PORTB|=(1<<0); czy nie?)... a analogiczna sprawa jest z set_wire DDRB&=~(1<<0); tu powinno się ustawić magistralę na 1 a zamiast tego ustawia się ją na wejście ... (a trzeba tu też zastosować wewnętrzny rezystor podciągający ? bo mam podłączony zewnętrzny rezystor podciągający 4.7kΩ ale gdy nie ustawię wewnętrznego to nigdy nie może przeczytać odpowiednio stanu magistrali).Mógłby mi tu ktoś objaśnić bo w książce Mikrokontrolery AVR Język C jest opisana gotowa biblioteka a ja chciałbym się dowiedzieć "od podszewki" jak to działa
Mogę wam udostępnić cały kod mojego programu. Może ja tu coś knocę bo napisałem mini-bibliotekę do obsługi tego 1-wire jednak oprócz reset-pulse i bitu presense to nie chce odczytywać temperatury
2 plik programu(zawierający definicje)
3 plik programu (zawierający deklaracje)
Jednak ponieważ zająłem się teraz rozpracowywaniem magistrali 1 -wire nastąpił pewien zgrzyt mianowicie w wyrażeniu : clr_wire DDRB|=(1<<0); jak sama nazwa wskazuje magistrala powinna być wyczyszczona ... czyli 0 no a jednak ustawia się ją na wyjście(przy okazji trzeba wtedy ustawić 1 na porcie aby to działało? znaczy w tym przypadku PORTB|=(1<<0); czy nie?)... a analogiczna sprawa jest z set_wire DDRB&=~(1<<0); tu powinno się ustawić magistralę na 1 a zamiast tego ustawia się ją na wejście ... (a trzeba tu też zastosować wewnętrzny rezystor podciągający ? bo mam podłączony zewnętrzny rezystor podciągający 4.7kΩ ale gdy nie ustawię wewnętrznego to nigdy nie może przeczytać odpowiednio stanu magistrali).Mógłby mi tu ktoś objaśnić bo w książce Mikrokontrolery AVR Język C jest opisana gotowa biblioteka a ja chciałbym się dowiedzieć "od podszewki" jak to działa
Mogę wam udostępnić cały kod mojego programu. Może ja tu coś knocę bo napisałem mini-bibliotekę do obsługi tego 1-wire jednak oprócz reset-pulse i bitu presense to nie chce odczytywać temperatury
Kod: C / C++
2 plik programu(zawierający definicje)
Kod: C / C++
3 plik programu (zawierający deklaracje)
Kod: C / C++