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

ATtiny13A nie daje napięcia na PB4 po wgraniu kodu - dlaczego?

Bluzman 24 Kwi 2020 17:55 909 13
REKLAMA
  • #1 18643987
    Bluzman
    Poziom 4  
    Tak jak w temacie. Zakupiłem ATtiny13A, podłączyłem programator i mkAVRCalculator ładnie go wykrył. Ustawiłem na nim 9,6MHz. Poszło gładko (patrz screeny). Napisałem poniższy kod żeby ustawić stan wysoki na wyjściu PB4. Program się kompiluje i wgrywa bez błędu. Jednak napięcia na PB4 nie ma, jest jedynie tam gdzie SCK, MISO, MOSI, RESET. Na nich też sprawdzałem, podpinałem mrugającego LEDa. Po wgraniu programu zero zmian. Co robię źle, coś należy ustawić w mkAVRCalculator przy ustawianiu zegara?

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 18644008
    excray
    Poziom 41  
    Zapisujesz fusebity a nie program. Zresztą ustawiłeś 1.2MHz bo zaznaczony masz bit CKDIV8.
  • REKLAMA
  • #3 18644017
    Bluzman
    Poziom 4  
    excray napisał:
    Zapisujesz fusebity a nie program. Zresztą ustawiłeś 1.2MHz bo zaznaczony masz bit CKDIV8.

    Opisałem jak zrobiłem zmianę zegara> Tutaj dzięki za poprawkę o CKDIV8. Program z w/w kodu wgrywam z Eclipse już.

    Dodano po 1 [godziny] 49 [minuty]:

    Wziąłem drugie ATtiny13A nowe i efekt jest taki sam. Wszytsko odbywa się jak opisałem w pierwszym poście. CKDIV8 wyłączyłem.
  • #4 18644374
    krzysiek_krm
    Poziom 40  
    excray napisał:
    Zapisujesz fusebity a nie program

    Bluzman napisał:
    Wziąłem drugie ATtiny13A nowe i efekt jest taki sam

    Powinieneś zaznaczyć checkbox "FLASH".
  • REKLAMA
  • #5 18644419
    Bluzman
    Poziom 4  
    Przy zmianie taktowania w zaznacza się fusebity chyba? Nie wgrywam programu do flash przez ten program z hexa tylko z Eclipse. Co da że zaznaczę FLASH w mkAVRCalculator?
  • #6 18644454
    krzysiek_krm
    Poziom 40  
    Może powinieneś zaznaczyć opcję -D ?
  • #7 18644565
    Bluzman
    Poziom 4  
    krzysiek_krm napisał:
    Może powinieneś zaznaczyć opcję -D ?

    Nic to nie dało jak ustawiłem -D. Zrobiłem taktowanie bez i z CKDIV8. Wgrywałem program przez mkvAVRcalculatora z pliku hex, dodawałem parametr -B 375 w Eclipse (AVRDude -> Other -> Other options). Widzi uC, coś wgrywa ale teraz już nawet napięcia nie ma na nóżkach SCK, MOSI, MISO.
    Nie mam pomysłów
  • REKLAMA
  • #9 18644708
    Bluzman
    Poziom 4  
    Bluzman napisał:
    Wgrywałem program przez mkvAVRcalculatora z pliku hex

    Napisałem wcześniej, że tak zrobiłem. Nie wiem co dodać do "Eclipse". Pisałem wcześniej, że poszło bez problemów - kompilacja, wgrywanie programu.
  • #11 18645534
    Bluzman
    Poziom 4  
    JarekC napisał:
    To przy pomocy mkvAVRcalculatora odczytaj FuseBits i podaj jakie wartości zostały odczytane.
    To przy pomocy mkvAVRcalculatora odczytaj Flash i umieść plik HEX w wątku.
    Zobaczymy co naprawdę zostało zaprogramowane.


    Umieszczam na zrzutach to co odczytałem calkulatorem i plik hex (zapisany przez Eclipse rozumiem?)

    #define F_CPU 9600000UL w calkulatorze ustawiam ATtiny13A
  • #13 18645929
    Bluzman
    Poziom 4  
    Chyba wszystko dobrze już jest. Nie wiem co podejrzewać. Wpiąłem obok tego układu na długiej stykówce Atmegę8, napisałem taki sam program, żeby tylko się napięcie pojawiło na nóżce. Nie było efektu. Zacząłem dociskać do płytki uC, rezystor, LED jeszcze raz i zaczęło się świecić.
    Pełny dostęp do obu uC był przez soft bez problemów - żadnych błędów i nagle zaczęły działać?
    Ważne, że działa chodź pytania co do wszystkiego są dalej.
  • #14 18743904
    JoteR
    Poziom 24  
    Bluzman napisał:
    Chyba wszystko dobrze już jest. Nie wiem co podejrzewać. Wpiąłem obok tego układu na długiej stykówce Atmegę8, napisałem taki sam program, żeby tylko się napięcie pojawiło na nóżce. Nie było efektu. Zacząłem dociskać do płytki uC, rezystor, LED jeszcze raz i zaczęło się świecić.
    Pełny dostęp do obu uC był przez soft bez problemów - żadnych błędów i nagle zaczęły działać?
    Ważne, że działa chodź pytania co do wszystkiego są dalej.


    W ATtiny13a PB.4 (nóżka 3) nie bierze udziału w procesie programowania, więc programator nie wypluje żadnego błędu jeśli ów pin nie będzie kontaktował. U mnie po pewnym czasie użytkowania płytki stykowej 8-nóżkowe ATtiny zaczęły nawet wyskakiwać efektownie do góry ;->. Warto się zaopatrzyć w prosty próbnik stanów logicznych i w razie draki mierzyć poziomy bezpośrednio na nóżkach procesora.

Podsumowanie tematu

Użytkownik napotkał problem z brakiem napięcia na pinie PB4 w mikrokontrolerze ATtiny13A po wgraniu programu. Po poprawnym ustawieniu zegara na 9,6 MHz i skompilowaniu kodu, nie uzyskał oczekiwanego efektu. W odpowiedziach zasugerowano sprawdzenie fusebitów, zaznaczenie opcji "FLASH" w mkAVRCalculator oraz odłączenie programatora po zaprogramowaniu. Użytkownik próbował różnych ustawień, w tym wyłączenia CKDIV8, ale problem nadal występował. Ostatecznie, po kilku próbach i dociskaniu komponentów, napięcie na pinie zaczęło się pojawiać, co sugeruje, że problem mógł być związany z połączeniami na płytce stykowej. Zwrócono uwagę, że pin PB4 nie jest używany podczas programowania, co może prowadzić do braku błędów w przypadku problemów z połączeniem.
Podsumowanie wygenerowane przez model językowy.
REKLAMA