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

jak programować przez ISP ATmega16?

fliper_katrill 03 Mar 2009 13:07 2546 9
  • #1 6230077
    fliper_katrill
    Poziom 20  
    Absolutnie nie pytam o połączenia pinów i sposób programowania z wykorzystaniem software'u. Pytanie brzmi: Podłączam przewody od programatora na wyłączonym napięciu zasilania zmontowanego układu(nie podłączam gnd i vcc z programatora) potem"klik" włączam urządzenie właściwe, co robi moje urządzenie, nasłuchuje czy wykonuje program który już jest w procku? Czy po podłączeniu pinów od razu włączam urządzenie ( i nic nie zadziała z modułów do niego podłączonych np. nie mrugnie żarówka podłączona, LED , silnik, cokolwiek)? Skąd procek wie że ma się programować a nie wykonać programu z zawartości pamięci procka? (pewnie wynika to z datasheetu)
  • Pomocny post
    #2 6230095
    _Robak_
    Poziom 33  
    Tak wszystko jest w datasheecie ;) Ale generalnie linia reset sluzy do wprowadzenia procka w stan programowania.
  • Pomocny post
    #3 6236379
    Konto nie istnieje
    Poziom 1  
  • #4 6256682
    fliper_katrill
    Poziom 20  
    czyli można powiedzieć że należy podpinać napięcia z programatora do układu nie podłączając go do własnego zasilania? a co jeśli piny programujące są wykorzystane do sterowania urządzeniami zewnętrznymi (przykładowo buzzer, ledy)? pewnie to będzie piszczeć i błyskać..... dochodzę do wniosku że radzicie mi najlepiej podłączyć sam uC pod programator po uprzednim wyciągnięciu go z układu i podłączeniu rezonatora z kondensatorkami :) bo tak będzie bezbłędnie i najprościej, czy tak?
  • #5 6257469
    _Robak_
    Poziom 33  
    Nie wiem po co chcesz wyciagac procka skoro sama nazwa ISP mowi, In System Programming
  • #6 6257542
    fliper_katrill
    Poziom 20  
    wnioskuję z wypowiedzi że system ten ma parę ograniczeń i szczerze mówiąc mi to jest mi obojętne jakim sposobem zaprogramuję , mogę wyciągać byleby poprawnie działało, bo jak narazie w moim przypadku mam więcej przygód z ISP niż z programowaniem "standardowym" :)
  • #7 6261063
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #8 6261131
    arturt134
    Poziom 27  
    Na samym początku napisałeś, że nie podłączasz GND i VCC z programatora. GND MUSISZ podłączyć bezwzględnie (wszystkie sygnały są przecież względem tej masy, jeżeli jej nie podłączysz, to żadnym cudem działać nie będzie). A VCC to już zależy od programatora. Niektóre programatory zasilają się z układu, niektóre potrafią zasilać układ. Sam musisz się zobaczyć jak jestw twoim przypadku, ale pamiętaj, że zarówno układ jak i programator MUSZĄ być zasilane.

    Dodano po 1 [minuty]:

    Aha, sekwencja wejścia w tryb programowania jest opisana w datasheecie. Generalnie musi być podany RESET, a po nim odpowiedni stan pinów programujących, czy od razu "wklokowany" jakiś bajt, nie pamiętam.
  • Pomocny post
    #9 6261821
    rpal
    Poziom 27  
    fliper_katrill napisał:
    czyli można powiedzieć że należy podpinać napięcia z programatora do układu nie podłączając go do własnego zasilania? a co jeśli piny programujące są wykorzystane do sterowania urządzeniami zewnętrznymi (przykładowo buzzer, ledy)? pewnie to będzie piszczeć i błyskać..... dochodzę do wniosku że radzicie mi najlepiej podłączyć sam uC pod programator po uprzednim wyciągnięciu go z układu i podłączeniu rezonatora z kondensatorkami :) bo tak będzie bezbłędnie i najprościej, czy tak?

    Jeśli programujesz po ISP i używasz programatora zgodnego z STK200 musisz podłaczyć i masę i zasilanie pod swojego ATMega16. Jak kolega wcześniej pisał pozostawienie programatora podpiętego do układu może powodowac jego nieprawidłowe działanie. Z mojej praktyki wynika że napewno układ się wiesza kiedy wyłacza się komputer z którego programujesz Atmega i to wszystko. Czasem może byc zakłócona praca SPI albo LCD jeśli jest podpięty pod PORTB. Można się przed tym zabezpieczyć kiedy steruje się pracą peryferii przez jakiś port trójstanowy który jest załaczany poziomem HIGH a wyłaczany LOW wówczas podczas programowania wszystko co jest podpięte do procka zostaje odłaczone od niego z wyjątkiem programatora - sterowanie jest wtedy podpiete pod linię RESET. Albo też MISO,MOSI,SCK puszczać do peryferi przez rezystor o wartości ok 1-2 k. Zakłócenia dotyczą głownie odczytu danyz z procesora.
  • #10 6266176
    fliper_katrill
    Poziom 20  
    Dziękuję wszystkim za udział w dyskusji, poddałem się , najważniejszą dla mnie była możliwość programowania. Złożyłem osobno podstawkę, trudno trzeba przedkładać, ale przynajmniej ten etap projektowania mam z głowy. Dla Panów po 3 pkt :)
REKLAMA