logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Programowanie ATTiny13: Użycie pinu PB5 jako wyjście i funkcja dW

Anderian 04 Cze 2006 23:23 4271 11
  • #1 2698494
    Anderian
    Poziom 18  
    Posty: 406
    Pomógł: 9
    Ocena: 3
    jak wyglada sprawa programowania ATTiny13 w przypadku gdy w docelowym ukladzie bede wykorzystywal pin PB5 jako wyjscie

    czy trzeba cos przelaczac zeby pin PB5 przestawic z funkcji RESET na zwykly pin ?? i co to jest za opcja dW na tym pinie ??

    mamjeszcze pytanie do stanu uspienia
    czy procesor moge wybudzic za pomoca dowolnego przerwania np PCINT2 ??
  • #2 2698570
    majekw
    Poziom 13  
    Posty: 40
    Pomógł: 5
    1. Musisz przestawić fuse bita. Ale uwaga! Po tym już będziesz mógł programować scalaka tylko wysokonapięciowym programatorem! I jeszcze zobacz do dokumentacji, na temat tego pinu, bo się troche rózni elektrycznie od reszty.
    2. dW to Debug Wire - jak nie wiesz co to, to pewnie nie potrzebujesz:-) Generalnie jak nie chcesz debugować tego 'w sprzęcie' i nie masz to tego odpowiedniego interfejsu, to zapomnij.
    3. Obudzić możesz jak odblokujesz PCINT oraz odpowiedni pin w rejestrze definiującym na które piny ma reagować. Więcej w dokumentacji.
  • #3 2698589
    Anderian
    Poziom 18  
    Posty: 406
    Pomógł: 9
    Ocena: 3
    czyli jak nie posiadam wysokonapieciowego programatora to niemam co ruszac piny PB5 ??
  • #4 2698593
    majekw
    Poziom 13  
    Posty: 40
    Pomógł: 5
    Chyba że to będzie Twoje ostatnie (i dobre) zaprogramowanie:-)
    Ewentualnie możesz jeszcze zrobić bootloader i w ten sposób go później programować - czyli w ogóle bez programatora. Ja właśnie robię sobie do TINY13 coś takiego, żeby móc upgradować soft i flash bez programatora - tylko poprzez rs232 (i to na wspólnej linii).
  • #5 2698634
    Anderian
    Poziom 18  
    Posty: 406
    Pomógł: 9
    Ocena: 3
    robie projekt sciemniacza na pilota wiec chyba pokombinuje i zrobie wykrywanie zera na jednym pinie a nie na 2 (komparator z projektu yego666) i wtedy reset bede wolny mial
  • #6 2698946
    Holy

    Poziom 14  
    Posty: 155
    Pomógł: 5
    Ocena: 6
    Zerknij na mój projekt. :)
    Załączniki:
    • Programowanie ATTiny13: Użycie pinu PB5 jako wyjście i funkcja dW dimmer.jpg (186.85 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    Konto firmowe:
    HOLTECH
    Fabryczna 18 lok. U6, Białystok, 15-483 | Tel.: +48XXXXXXXXX (Pokaż) | Strona WWW: www.holtech.eu
  • #7 2701669
    greg_matrix
    Poziom 17  
    Posty: 163
    Pomógł: 28
    Ocena: 3
    Ja używam TINY13 i pinu 5. Nie potrzebujesz do tego specjalnego programatora, ale tak jak słusznie zauważył majekw zaprogramowanie fuse odpowiedzialnego za wyłączenie resetu musi się odbyć po poprawnym wpisaniu programu do scalaka.

    Jeśli dodatkowo chcesz przełączyć lock-bit (żeby np w celu ochrony własności intelektualnej zablokować odczyt programu) to tę czynnośc wykonujesz na końcu.

    Kolejność jest więc taka:
    1. wpisujesz program
    2. wyłączasz reset (fuse-bit)
    3. blokujesz odczyti zapis (lock-bit)
  • #8 2702369
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    Jesteś pewien tej kolejności?
    Jak wyłączysz reset to stracisz SPI i nie wpiszesz lock-bitów.
    Pozdr. N.
  • #10 2702823
    greg_matrix
    Poziom 17  
    Posty: 163
    Pomógł: 28
    Ocena: 3
    Tak, na pewno w tej kolejności jest OK.
    Jak dotąd sposób się sprawdza, o ile nie zapomniałem np wcześniej przestawić zegara :-)
  • #11 2703271
    Nawigator
    Poziom 33  
    Posty: 1923
    Pomógł: 167
    Ocena: 160
    To cenna uwaga, jakoś nie mogłem do tej pory trafić na nią, dzięki za wyjaśnienia.
    Czyli programowanie musi być wykonane w jednej sesji, nie na raty.
    Pozdr. N.
  • #12 2800831
    pepik
    Poziom 11  
    Posty: 20
    wszedzie tego szukalem :D mam zamiar zrobic sciemniacz do inteligentnego domu, przyda mi sie ten schemacik, dzieki wielkie :D

Podsumowanie tematu

LABEL_AI_GENERATED
Programowanie mikrokontrolera ATTiny13 z wykorzystaniem pinu PB5 jako wyjścia wymaga zmiany ustawienia fuse bitu, który domyślnie przypisuje ten pin do funkcji RESET. Po wyłączeniu funkcji RESET na PB5, pin ten może być używany jako zwykły port I/O, jednak programowanie układu po tej zmianie wymaga stosowania programatora wysokonapięciowego. Alternatywnie można zastosować bootloader umożliwiający programowanie przez interfejs szeregowy (np. RS232) bez potrzeby programatora wysokonapięciowego. Opcja dW (Debug Wire) to interfejs debugowania sprzętowego dostępny na pinie PB5, który można wyłączyć, jeśli nie jest potrzebny. W kwestii wybudzania mikrokontrolera ze stanu uśpienia, można to zrobić za pomocą przerwania PCINT (np. PCINT2), pod warunkiem odpowiedniego odblokowania przerwań i konfiguracji rejestrów. Programowanie fuse bitów i lock bitów powinno odbywać się w jednej sesji programowania, aby uniknąć utraty dostępu do SPI po wyłączeniu resetu. Dyskusja zawiera także sugestie dotyczące projektów wykorzystujących PB5 jako wyjście, np. ściemniacz do inteligentnego domu, oraz uwagi dotyczące kolejności i metod programowania fuse i lock bitów w ATTiny13.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA