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

Jak używać bitu 5 (nóżka 1) w ATtiny13/45 jako wyjście?

Aimeiz 30 Lis 2006 00:25 1968 10
REKLAMA
  • #1 3277917
    Aimeiz
    Poziom 16  
    Posty: 290
    Pomógł: 2
    Ocena: 20
    Witam.
    Chciałbym użyć bitu nr 5 w attiny (próbowałem 13 i 45 kilka egzemplarzy).
    To nóżka 1 scalaka , na której jest również sygnał reset.
    Skonfigurowałem ten bit na output i prostym programem zmieniam stany wysoki, niski ......
    - tak jest to w bascomie:

    $regfile = "attiny13.dat"
    $crystal = 9600000

    Config Portb.4 = Output
    Config portb.5 = output
    reset PORTB.4
    reset PORTB.5
    do
    toggle PORTB.4
    toggle PORTB.5
    waitms 1

    loop

    End
    stany na bicie 4 (nóżka 3) zmieniają się cyklicznie tak jak każe program - fala prostokątna ok .5 kHz, Natomiast na bicie 5 (nóżka 1) cały czas jest stan wysoki.

    Jeżeli wykorzystac chcę ten bit jako wejście i podam stan niski, układ się resetuje - no bo bit5 to ta sama nóżka co reset.
    Jakoś nie mogę się doczytać w dokumentacji attiny jak problem ten obejść, a jakoś nie chce mi sie wierzyć że bit-5 jest niewykorzystywalny.

    Prośba o poradę.
  • REKLAMA
  • Pomocny post
    #2 3277964
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    no i nie musisz wierzyć, że bit 5 nie jest wykorzystywany ;)

    ... skoro piszesz, że masz dokumentację to chyba widzisz, że bit 5 może być albo tylko wejściem RESET (i wtedy nie dziw się, że po podaniu stanu ZERO uc się resetuje - bo tak działa RESET), albo można go przekonfigurować za pomocą fuse bitów żeby pracował jako normalny port (tak jak każdy inny) - ale UWAŻAJ !!! po takiej operacji już nie będziesz mógł używać do programowania tego uC popularnego programatora ISP !!! W grę wchodzić będzie wtedy tylko programator równoległy!!!

    czy to dziwne dla ciebie? ... przecież jak wyłączysz RESET to wyłączysz jeden z podstawowych sygnałów w oparciu o jakie działa programator ISP np STK200. Chyba że masz programator równoległy i takim się cały czas posługujesz ? ;) to śmiało - przeprogramuj sobie fuse bita RSTDISBL i powodzenia (od tej pory obalisz swój mit o nie wykorzystaniu bitu 5) ...

    pozdrówka
  • REKLAMA
  • #3 3278562
    Aimeiz
    Poziom 16  
    Posty: 290
    Pomógł: 2
    Ocena: 20
    Dzięki.

    Oczywiście pomogło, tylko, tak jak wspomniałeś chip przestał być programowalny, a nawet soft programujący (BASCOM - DEMO) go już nie widzi.

    Posiadam programator ISP - podłączony pod port równoległy (taki za 15 zł z aukcji, z buforem we wtyczce lpt), ale tak jak pisze dokumentacja ATTINY-13 jeżeli reset jest zablokowany, to należy użyć procedury High Voltage programming, żeby go odblokować.
    Trzeba podać 12V na nóżkę reset (1) i wykonać sekwencję czyszczenia chipu.
    W jaki sposób mogę to zrobić używając mój programator, tak aby nie uszkodzić programatora i mikrokontrolera? Przez opornik?
  • REKLAMA
  • #4 3278898
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    ... przypomina mi się taki dowcip: siedzi baca na gałęzi i jednocześnie odcina tą samą gałąź piłą od drzewa. Przechodzi turysta i mówi - baco co wy robicie?? przecież spadniecie zaraz - na co baca krótko - eeee tam, po jakimś czasie spada na ziemię. Wstaje potłuczony - spogląda jeszcze w stronę oddalającego się turysty i mówi do siebie - "prorok jaki czy coo?" ;) to tak odnośnie tego co powiedziałeś, że
    Cytat:
    już BASCOM-DEMO go nie widzi


    ale teraz nie wymyślaj sztuczek z podpinaniem przez rezystor wysokiego napięcia ;) bo tym razem "uwalisz" go na zawsze ;) już wspominałem , że są do tego programatory równoległe (UWAGA! nie myśl że określenie programator równoległy oznacza to, że jest podłączony do portu LPT ;) ... raczej poszukaj sobie teraz schematu i wykonaj sobie taki programator albo kup ... ale te są gdy chcesz kupić o wiele droższe od zwykłego STK200 za kilkanaście złotych..... i są te programatory równoległe nieco bardziej skomplikowane do samodzielnego wykonania ;) .... poczytaj o tym dokładniej i ci się wszystko rozjaśni ;) .... a na drugi raz lepiej dobierać tak uC do swoich potrzeb aby nie trzeba było na siłę wykonywać blokowania RESETU ;) .... jak widzisz bez programowania ISP ciężko zyć jeśli chodzi o uruchamianie prototypów - a jak już będziesz miał gotowy i pewny projekt to wtedy łatwo przenieść z większego procka program na mniej nóżkowego ATTiny - zablokować mu reset i już ;)

    pozdrawiam
  • #5 3278907
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Programatorem szeregowym STK tego nie zrobisz. Musisz uzbroić się w programator równoległy (czytaj - taniej wyjdzie nowy uC). Jeśli zdecydujesz się na nowy uC to wyłacz reset dopiero po ostatecznym zaprogramowaniu uC.
  • #6 3280047
    ziomal155
    Poziom 15  
    Posty: 211
    Pomógł: 6
    Ocena: 13
    hm programator równoległy to ciekawe bo attiny13 ma tylko szesc nużek więc braknie trochę do danych a gdzie instrukcje programowania?? hehe do attiny trzeba programator HV Serial :) ale to nie jest ISP :( proszę zainteresować się STK500 zbudowałem sobie go i dodalem USB i mam super programator HV szeregowy i równoległy no i tez zwykle isp ale takie ze programator mozna zasilac z 5V z USB a docelowy układ np z 3.3V. Jak jestes z łodzi o mogę ci go zaprogramować :)
  • #8 3281339
    Aimeiz
    Poziom 16  
    Posty: 290
    Pomógł: 2
    Ocena: 20
    He he.
    Wiedziałem że taki będzie efekt, ale ciekawość, czy zacznie działać bit - 5 była silniejsza, zwłaszcza, że wiadomo było że innym programatorem da sie ten stan odwrócić, zresztą nawet.. w końcu attiny 13 to kilka złotych.
    Wiedza musi kosztować. "Jak sie nie przewrócis to się nie naucys" tak mówia Górale.
    Właśnie zabieram się za programator AVR HVS według ChaN-a.
    Szczerze mówiąc, to wolałbym nabyć gotowy, ale widzę że nikt tego za adekwatne pieniążki nie oferuje.
    Płytka uniwersalna, złącza, podstawki, kilka tranzystorów, oporników... i niestety sporo czasu i będzie działać, a i na przyszłość się przyda.

    Czy ktoś może testował ten układ?
    --http://elm-chan.org/works/avrx/avrxp8.png--

    Temat mikrokontrolerów, od kilku dni zaciekawił mnie mocno i bawię sie w eksperymenty. Zrobiłem taki układzik, który steruje / jest sterowany dwukrotnie większą liczbą elementów niż chip ma nóżek I/O. Taka trochę sztuka dla sztuki, stąd potrzeba użycia całej funkcjonalności kostki.
    Napewno łatwiej byłoby użyć chćby 14-to nóżkowca, ale nie byłoby zabawy.

    Dzięki za rady - już wiem więcej, a napewno jeszcze będę miał pytania, bo kto pyta nie błądzi :)
  • REKLAMA
  • Pomocny post
    #9 3281901
    ZlyDotyk
    Poziom 19  
    Posty: 169
    Pomógł: 40
    Ocena: 1
    nie musisz inwestować w STK500, wystarczy że złożysz sobie na przykład programator z tej strony: http://elm-chan.org/works/avrx/report_e.html koszt nie wiele wyższy od STK200 i działa znakomicie ;]
  • #10 3283015
    Aimeiz
    Poziom 16  
    Posty: 290
    Pomógł: 2
    Ocena: 20
    No właśnie już przyciąłem płytkę i zamocowałem gniazdo.
    Mam wszystkie elementy i zrobie programatorek wedłuch chana.
    Wzasadzie to mi tylko potrzebny do odblokowywania fusebitów, bo do programowania mam programatorek ISP działający spod bascoma.
    Może dziś to poskładam, chyba że mnie pochłonie inna forma działalności.
  • #11 3287765
    ziomal155
    Poziom 15  
    Posty: 211
    Pomógł: 6
    Ocena: 13
    nom ja w moj stk z podstawkami dla wszystkich ukladow w dip i pod usb zainwestowalem kolo 50zl a mam programatorek ktory moge wykozystac prawie do wszystkiego no i jest przszlosciowy:)

Podsumowanie tematu

LABEL_AI_GENERATED
W mikrokontrolerach ATtiny13 i ATtiny45 bit 5 (nóżka 1) pełni funkcję sygnału RESET i nie może być bezpośrednio używany jako standardowe wyjście bez zmiany konfiguracji fuse bitów. Aby wykorzystać ten pin jako port I/O, należy wyłączyć funkcję RESET przez ustawienie fuse bitu RSTDISBL, co jednak uniemożliwia dalsze programowanie układu za pomocą popularnych programatorów ISP (np. STK200). W takim przypadku konieczne jest użycie programatora wysokiego napięcia (High Voltage Programming), który wymaga podania 12V na nóżkę RESET i specjalnej procedury odblokowania mikrokontrolera. Programatory równoległe lub specjalistyczne programatory HV Serial (np. STK500 z funkcją HV) są niezbędne do programowania i odblokowywania układów z wyłączonym RESET. Próby programowania przez ISP po wyłączeniu RESET kończą się brakiem komunikacji z mikrokontrolerem. W dyskusji polecono budowę własnego programatora HV według projektu ChaN-a (http://elm-chan.org/works/avrx/avrxp8.png), który jest tańszą alternatywą dla komercyjnych programatorów STK500. Użytkownicy podkreślili, że wyłączenie RESET to świadoma decyzja wymagająca odpowiedniego sprzętu do programowania i odblokowywania fuse bitów, a bit 5 może być wtedy używany jako normalne wyjście lub wejście.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA