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

atmega32/usbasp - Nie działa PD6 i PD0

Imekxus 26 Lut 2015 17:42 549 13
  • #1 26 Lut 2015 17:42
    Imekxus
    Poziom 17  

    Dzień dobry
    Dziś chciałem podłączyć HD44780 pod atmege32, użyłem najpierw blibioteki swojej, coś nie działało - po resetach dopiero pojawiał się tekst, po dłuższym wyłączeniu atmegi i podłączeniu do zasilania (z usb z programatora) znów nie było tekstu aż do wciśnięcia resetu, dodam, że miałem ciągle podłączony kondensator między vcc i gnd 10uF bo wcześniej używałem USART. Postanowiłem, że załączę bibliotekę od radzia, po wgraniu niestety nie działała - po zmianie portu na portc wyświetlacz działa normalnie.

    Teraz sprawdzałem piny po kolei i pin PD6 oraz PD0 nie reagują, testowałem to tym programem:

    Kod: C
    Zaloguj się, aby zobaczyć kod


    do pinów po kolei podłączałem diodę anodą przez rezystor 220Ohm do masy.

    Dodam, że podczas moich manewrów coś dziwnego zaczęło się dziać, tj podczas jednego z programowań wyskoczyło mi nie pamiętam już co (używam avrdude w cmd, niestety już nie znajdę tego co tam wyskoczyło), tj coś tam było o nadpisaniu czegoś, możliwe, że czegoś w stylu fusebitów, dałem y i enter, po czym programator się zawiesił, po podłączeniu usbasp z powrotem do portu usb przez chwilę nie działał, później usbasp nie wykrywał mi atmegi, później miałem błąd w stylu "expected signature for atmega32 is..." - po kilku włożeniach i wyciągnięciach programatora błędy zniknęły lecz ja nadal nie mogę używać pinów PD6 i PD0 (PD0 mnie najbardziej martwi bo jest wykorzystywany przez USART, jak się zepsuł to będę musiał nową atmegę kupić).

    Ktoś ma jakieś pomysły? Coś może w uC przestawiłem, że mi to nie działa

    0 13
  • #2 26 Lut 2015 18:04
    Wojtek75
    Poziom 23  

    Imekxus napisał:
    do pinów po kolei podłączałem diodę anodą przez rezystor 220Ohm do masy.
    W takiej konfiguracji raczej ci ta dioda nie zaświeci.

    0
  • #3 26 Lut 2015 18:11
    Imekxus
    Poziom 17  

    pinx-rezystor-anoda-dioda-katoda-masa
    co ma nie świecić =)? zresztą w przypadku pozostałych pinów zgodnie z programem co 3 sekundy zmienia stan ON/OFF

    Uwaga
    dodam, że usart mi działa, tj. teraz wgrałem inny program z wykorzystaniem usart i normalnie atmega przechwytuje znak i później go zwraca zgodnie z programem to hyperterminala, także nie ma tragedii, chociaż zielonego pojęcia nie mam dlaczego występuje problem z 1 postu ; /

    0
  • #5 26 Lut 2015 18:32
    Imekxus
    Poziom 17  

    Próbowałem także na czystym pliku main (bez obsługi LCD) i niestety także problem występuje =(

    0
  • #7 26 Lut 2015 18:55
    Imekxus
    Poziom 17  

    Dla pinu PD6:

    Kod: C
    Zaloguj się, aby zobaczyć kod

    0
  • #9 26 Lut 2015 19:12
    Imekxus
    Poziom 17  

    Wcześniej pisałem PD6 teraz dla testu dałem 6, faktycznie pin jest uszkodzony, na szczęście przy przełączaniu (PD0) zw zwykłego IO na pin obsługujący USART wszystko jest OK.

    Temat zamykam zaraz ale jeszcze zadam pytanie, zdarzyło wam się kiedyś takie coś? co mogło być tego przyczyną? da się to określić jednoznacznie? (jak nie będzie odpowiedzi i tak zamknę).

    0
  • Pomocny post
    #10 26 Lut 2015 19:14
    szczywronek
    Poziom 27  

    A może kolega nie wgrywa tego kodu? Np.: popularną pułapką w Eclipse jest próba kompilacji niezapisanego projektu (nie wiem jak to wygląda w innych popularnych IDE). Proponuję uruchomienie programu, który zmienia stan różnych pinów (jednocześnie) - jeśli się okaże że inne wyprowadzenia działają a tylko PD0/6 milczy to pozostaje... wyrwać nóżki, przewiercić i powiesić na szczęście na ścianie :)

    0
  • #11 26 Lut 2015 19:17
    Imekxus
    Poziom 17  

    Nie używam eclipse tylko avrdude+notepad++ .

    0
  • Pomocny post
    #13 26 Lut 2015 19:24
    BlueDraco
    Specjalista - Mikrokontrolery

    Najczęściej takie uszkodzenie następuje z powodu krótkotrwałego podania na wejście napięcia powyżej nap. zasilania uC.

    1
  • #14 26 Lut 2015 19:36
    Imekxus
    Poziom 17  

    Mhm wykluczam to jako przyczynę ponieważ jedyne źródło napięcia jakie występuje w moim układzie to 5V z USB. Dobra nic zamykam, uznam że uszkodzenie nastąpiło wskutek zawieszenia się programatora co opisałem chaotycznie w 1 poście.

    Dziękuje za pomoc
    (na pewno skorzystam z porady dondu jak tylko znajdę chwilkę wolnego czasu, wiem, że zaoszczędzi mi to czas w przyszłości)

    0