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

Czy po zaprogramowaniu trzeba odłączać układ od LPT ?

MasMas 30 Sty 2010 19:20 1536 11
REKLAMA
  • #1 7617493
    MasMas
    Poziom 16  
    Temat być może trochę dziwnie zabrzmiał, ale :

    Programuje procesor (mowa aktualnie o ATMega16) poprzez ISP , przez port LPT (standardowo, bez żadnego programatora, po prostu podłączone kabelki...)

    I chodzi o to, że w ATMega16, 3 potrzebne linie : MISO, MOSI i SCK znajdują się na porcie "B". Pod port "B" mam podpięte 8 diod LED i chciałbym nimi sterować, np. ustawić wszystkie zapalne. Czyli w kodzie pisze, że ustawiam wartość PORTB=0xFF; (czyli 255 na port "B"). Programuje i okazuje się, że diody migają bardzo szybki - procesor non-stop się resetuje ! Natomiast gdy odepnę kabel od portu LPT wszystko działa jak należy. Gdy znów podepnę kabel od LPT do układu, zaczyna robić się to samo...

    W układzie docelowym kabel i tak nie będzie podpięty więc teoretycznie to nieważne, ale przy testach odpinanie kabla za każdym razem jest dość kłopotliwe... Czy jest to konieczne ? Może profesjonalnie robi się to jakoś inaczej ? (tak, wiem, że są programatory, ale to odpada...) ?

    Dziękuje za wszelkie informacje.
  • REKLAMA
  • REKLAMA
  • #3 7617614
    MasMas
    Poziom 16  
    Mhh... No nie w tym sensie mi chodziło. Odpadają, bo na razie nie mam żadnego i chwilowo nie chce kupować, po za tym nie wiem po co te programatory skoro bez nich też wszystko działa...

    A w tym temacie chciałem się zapytać czy to, że mi się resetuje ten procesor to jest przez ten kabel i czy da się zrobić, żeby się nie resetował gdy kabel jest podpięty...
  • REKLAMA
  • Pomocny post
    #4 7617667
    _Robak_
    Poziom 33  
    Jak dodasz na linie rezystorki 220 ohm to tez juz bedzie mial programator ;)
  • REKLAMA
  • Pomocny post
    #5 7617803
    mirekk36
    Poziom 42  
    MasMas napisał:
    Mhh... No nie w tym sensie mi chodziło. Odpadają, bo na razie nie mam żadnego i chwilowo nie chce kupować, po za tym nie wiem po co te programatory skoro bez nich też wszystko działa......


    no właśnie - a nie zastanawiałeś się nigdy dlaczego i po co są te programatory??? może jednak warto się tym zainteresować. Bo skoro one są to znaczy, że to twoje rozwiązanie pomimo że działa czyli ma jakieś zalety - to jednak ma także bardzo dużo wad... i dlatego warto poczytać co to za wady i do czego może doprowadzić posługiwanie się takim programatorem.

    Bardzo dobrze rozumiem, że nie każdy ma od razu kasę na zakup programatora z prawdziwego zdarzenia. Jednak gdy zerkniesz sobie np na stronkę

    http://www.lancos.com/prog.html

    to zobaczysz tam schemat bardzo prostego programatora o nazwie STK200, który także podłącza się do LPT ale jest już o NIEBO lepszym rozwiązaniem od tego z czym ty się teraz mordujesz i bawisz. Do tego wszystkiego taki programator możesz nawet zrobić sobie sam .... chociaż z drugiej strony jak się spojrzy na jego cenę na np allegro czyli około 15zł !!!! to aż odechciewa się samemu to dłubać i uruchamiać lepiej ten czas poświęcić na jakże przyjemną naukę programowania procków nie prawda? ;)

    A 15zł hmmm nie jest to wprawdzie NIC dla młodej osoby, która na dodatek nie zarabia jeszcze pieniędzy. Jednak z drugiej strony wierzę, że na pewno jakoś byś sobie poradził aby jednak taką kasę uzbierać i już o wiele bezpieczniej programować.
  • #6 7618019
    MasMas
    Poziom 16  
    Właśnie w tym, rzecz, że się zastanawiałem po co są te programatory i wydawało mi się, że może dla zwiększenia szybkości transmisji i stwierdziłem, że aż tak mi na czasie nie zależy... Tak na serio to po prostu nie lubię kombinować tam gdzie nie trzeba.

    Jednak zaniepokoiło mnie zdanie :

    Cytat:
    dlatego warto poczytać co to za wady i do czego może doprowadzić posługiwanie się takim programatorem.


    Mam zwyczajnie podpięte piny uC do LPT i reset podciągnięty do Vcc. Ale z powyższe zdanie zaniepokoiło mnie o tyle, że nie sądziłem, że można w ten sposób uszkodzić procka. Czyli przez takie programowanie może się coś procesorowi stać ? Bo na początku jak odpinałem kabel to wszystko śmigało, ale po wyłączeniu i włączeniu, nawet bez kabla resetuje się w połowie kodu ?

    Czy takie objawy to przez brak programatora ? Bo jeśli tak, to by oznaczało, że muszę się w niego zaopatrzyć ;)
  • Pomocny post
    #7 7618091
    _Robak_
    Poziom 33  
    Procesorowi nie, ale gorzej z portem LPT komputera ;) Wbrew pozorom ten port nie jest zbyt odporny ;)
  • Pomocny post
    #8 7618094
    mirekk36
    Poziom 42  
    Jak sobie poczytasz o wadach tego typu "pseudo programatora" jakiego ty używasz to zobaczysz m.inn to, że nie tylko procek jest narażony na niebezpieczeństwo ale i twój port LPT. Hmmm jak walnie procek to kupisz za 2zł nowy ale jak sfajczysz port LPT - to hmm kupisz nowy??? ;)

    Z tego typu programatora można jak najbardziej skorzystać - gdy akurat nie ma nic innego pod ręką a trzeba na tzw gwałt coś zrobić. Albo np zaobcz tutaj:

    https://www.elektroda.pl/rtvforum/topic1333300.html

    nie chodzi o obudowę - ale taki programator jesteś w stanie sam sobie spokojnie wykonać i nie dość że w porównaniu do twojego czy STK200 będzie o WIELE WIELE szybszy to jeszcze łatwy w uruchomieniu i budowie. Ale jak widzisz jest tam procesor i trzeba go zaprogramować wsadem ze strony autora tego pomysłu na programator USBASP. I proszę - to okaże się, że twoje programowanie bezpośrednio przez LPT będzie jak znalazł - od razu się przyda. Gwarantuję ci , że jak raz skorzystasz z jakiegoś dobrego programatora to to programowanie przez LPT będzie twoim ostatnim ;)
  • Pomocny post
    #9 7618107
    tmf
    VIP Zasłużony dla elektroda
    Generalnie unikaj sytuacji, w ktorej pod piny ISP masz podpiete jeszcze cos innego. Przynajmniej do czasu, kiedy nie poznasz dokladnie o co w tym wszystkim biega. Twoj problem najpewniej jest spowodowany tym, ze wystepuje konflikt pomiedzy sygnalem, ktory dostajesz z twojego prowizorycznego programatora (zapewne LPT?), a tym co wystawia procesor, zeby realizujac program sterowac diodami. W przypadku programatora mozesz miec podona sytuacje. Tu rozwiazaniem jest nie tyle programator, co program nim sterujacy. Chodzi o to, zeby po skonczonym programowaniu, a przed zwolnieniem RESET, wszystkie jego wyjscia przechodzily, albo w stan wysokiej impedancji, albo przynajmniej stawaly sie wejsciami. Na LPT tez to mozna zrealizowac, aczkolwiek standardowe oprogramowanie tak nie dziala, bo i po co - to zalatwia wlasnie sam programator.
  • #11 7618815
    MasMas
    Poziom 16  
    Bardzo dziękuje wszystkim za odpowiedzi, dużo dla mnie znaczą...

    Do tego samego wniosku doszedłem, że jest "konflikt" pomiędzy sygnałami. Spróbuje jutro dać te rezystory, mam nadzieje, że pomogą, chociaż teraz mam wątpliwości, gdyż :
    Przedtem mówiłem, że po odpięciu kabla od LPT wszystko wracało do normy. Ale gdy odłączyłem układ od prądu i włączyłem go ponownie okazało się, że procesor zapala po kolei diody i przy końcu się resetuje, pomimo, że kabel jest odpięty i nie ma żadnego połączenia z LPT -
    I to jest dziwne, bo akurat to nie jest pierwszy procesor, który zaprogramowałem, tylko zrobiłem sobie teraz taką jakby mała płytkę testową i coś mi na niej nie działa bo jak ustawię PORTB to się wszystko sypie, podczas gdy np. portD chodzi bez zarzutu (na nim też są diody)...

    Ale skoro mówicie, że przez to programowanie nie mogło się uszkodzić to muszę szukać innej przyczyny... Tylko wszystko wygląda dobrze : Vcc ma kondensator, Avcc i Aref są podpięte, reset przez 10K do vcc, diody LED spięte wspólnie do masy, a resztą do odpowiednich pinów i nie wiem co mi tu może nie działać...

    Sprawdzę, jeszcze z tymi rezystorami i przeprogramuje - może pomoże ? ;)
  • #12 7618862
    _Robak_
    Poziom 33  
    Aref akurat zostaw odpięte ;) Bo jak byś ustawił w programie wewnetrzne źródło to będzie zwarcie.
REKLAMA