ds18b20 - już nie moge

Witam!

Już nie mam sił do ds18b20, nawet nie moge nawiązać z nim połączenia. Jest podpięty pod atmega128 zegar 14.7456MHz. Już nie wiem co mu dolega. Podłączony jset tak: VDD - 5V, GND - wiadomo, DQ - PORTB.0 i przez R=4.7k do VDD. Poniżej funkcja reset i nawet na to nie odpowiada (bo po stanie wysokim powinien być przez ok 200us niski, a ten nic. Proszę o pomoc. Może źle odmierzam czasy. Ktoś ma jakieś procedurki dla tego zegara. Układ nie jest uszkodzony DS18b20 nie jest uszkodzony bo sprawdzałem gdzie indziej.

unsigned char onewire_reset(void) { unsigned char i = 200; sbi(DDRB, 0); sbi(PORTB, 0); _delay_us(10); cbi(PORTB, 0); _delay_us(100); _delay_us(100); _delay_us(100); _delay_us(100); _delay_us(80); sbi(PORTB, 0); _delay_us(30); cbi(DDRB, 0); while(i--) { if (bit_is_clear(PINB, 0)) { _delay_us(1); return 0; } else { return 1; } _delay_us(1); }

return 1;

}

pozdrawiam

Reply to
pioneer
Loading thread data ...

Poszukaj gotowych funkcji na stronie producenta. Działają!!!

Mister

Reply to
Mister

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.