Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[ATTINY2313] [C] - Niedziałające poprawnie piny PD2, PD3, PD4

28 Paź 2012 20:51 1215 5
  • Poziom 10  
    Witam,
    Właśnie robię sobie termostat na AtTiny2313 + DS18B20 i natknąłem się na problem, którego nie mogę przeskoczyć.

    Układ działa sprawnie (wyświetla się temperatura na 7-seg.) jeśli podepnę linię danych DS18B20 do np. PD0 czy PD1, ale nie działa po podłączeniu do PD2, PD3, PD4 - a płytkę mam zrobioną tak, że do obsługi 1wire jet przeznaczony pin PD2.
    Ma on (PD2) jeszcze funkcję INT0, ale jej nie używam.
    Czy jest coś co powinienem wiedzieć o AtTiny2313?
    Może jakieś domyślne ustawienia nadpisujące funkcje pinów PD2 .. PD4?
    Przewertowałem cały datasheet i nic nie znalazłem.

    Spróbowałem potraktować PD2 jak zwykły port I/O i podpiąłem do niego diodę (pin ustawiony jako OUT w stanie wysokim, dioda podłączona między port a masę bez żadnych rezystorów) i udało mi się ustalić, że dioda świeci, ale bardzo, bardzo słabo (prąd ok 100uA). Podobnie zachowuje się gdy ją cyklicznie włączam i wyłączam (leciutko się tli w stanie włączonym).

    [ATTINY2313] [C] - Niedziałające poprawnie piny PD2, PD3, PD4

    Kod: c
    Zaloguj się, aby zobaczyć kod
  • Poziom 39  
    Moje podejrzenie, pada na poniższą linię kodu,
    Kod: c
    Zaloguj się, aby zobaczyć kod

    ale by być tego pewnym, muszę zobaczyć Twoje procedury obsługi 1wire.
  • Poziom 10  
    One wire działa bezbłędnie na innych pinach.

    Kod: c
    Zaloguj się, aby zobaczyć kod
    [/code]
  • Pomocny post
    Poziom 39  
    Z kodu wynika że masz piny 2,3,4,5 portu D ustawione jako wejście (DDRD = 0b11000011).
    Wtedy w stanie niskim pin wisi w powietrzu, a w wysokim jest podciągany przez 20kΩ.
  • Poziom 39  
    Czy kolega uważa, że to jest forum wróżek, które odgadną makra w Twoim kodzie :?:
    ONE_WIRE_LO; :?:
    ONE_WIRE_HI; :?:
  • Poziom 10  
    Nie, kolega po prostu ma zdefiniowane makra w pliku nagłówkowym, który nie jest załączony w listingu powyżej. Po prostu szybko wkleiłem potrzebny kod i nie spojrzałem czy czegoś brakuje.
    Tak czy siak wystarczyłoby po prostu napisać, żebym dołączył potrzebny kod a nie od razu unosić się.

    @movzx: Wielkie dzięki - rzeczywiście tu leżał problem i po zmianie wszystko już działa prawidłowo. Głupi błąd i pół dnia zmarnowane. Daję pomógł i zamykam temat.
    Jeszcze raz dzięki. :)