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.

Programowanie atmega8 - coś nie do końca chce mi działać

Tomasz1902 12 Paź 2017 21:00 582 26
  • #1 12 Paź 2017 21:00
    Tomasz1902
    Poziom 3  

    Witam
    Mam atmege8 i zaczynam do programować w eclipse.
    Chciałem wgrać ten program:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    I nie chce mi on działać. Działa tak że dioda na PC0 świeci się cały czas, i nic jej nie zgasi. Gdy w mkAVRCalculator zaznaczyłem "wykonaj kasowanie AVR" to dioda gaśnie ale gdy wgram jakikolwiek program to dioda się zaświeca.
    Myślę, że jasno to zrozumiałem i panowie mi pomogą.
    Pozdrawiam

    0 26
  • #2 12 Paź 2017 21:14
    maly_ninja
    Poziom 13  

    A jak masz podłączoną tę diodę? Pokaż jakiś minimalny schemat, może to trochę rozjaśni sytuację.

    0
  • #3 12 Paź 2017 21:18
    Tomasz1902
    Poziom 3  

    maly_ninja napisał:
    A jak masz podłączoną tę diodę? Pokaż jakiś minimalny schemat, może to trochę rozjaśni sytuację.

    Proszę :D

    0
  • #4 12 Paź 2017 21:24
    maly_ninja
    Poziom 13  

    Bardziej chodziło mi o jakiś schemat ideowy, ale ok, tak też coś widać :p
    Nie widzę tylko jak masz podłączoną diodę, do pinu PC0 masz podłączoną katodę czy anodę diody?
    Po wgraniu obojętnie jakiego programu dioda świeci, czy po wgraniu tego co podałeś? Próbowałeś podpiąć pod jakiś inny pin?
    Nie widzę tylko jak podłączone są te dwie diody (zgaszone) ale do prób może je wyjmij, żeby nie przeszkadzały. :d

    0
  • #5 12 Paź 2017 21:25
    marekhab
    Poziom 31  

    Nie ustawiłeś portu czy jest wejście czy wyjściem, można dopatrzeć się na pierwszy rzut oka kilka podstawowych błędów.
    Po co się rozpisywać i zaraz krytykować (ja też tak zaczynałem).
    Masz tu link do prostego i w miarę krótkiego (tylko 5 części)kursu, ważna abyś czytał ze zrozumieniem, pisz co opanowałeś, daj znać jak zrozumiesz dlaczego Twój kod nie działa.
    http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=2
    Pierwszą część kursu pomiń jeśli używasz Eclipsa

    0
  • #7 12 Paź 2017 21:26
    maly_ninja
    Poziom 13  

    Przecież ma ustawiony pin PC0 jako wyjście:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #8 12 Paź 2017 21:31
    Tomasz1902
    Poziom 3  

    maly_ninja napisał:
    Bardziej chodziło mi o jakiś schemat ideowy, ale ok, tak też coś widać :p
    Nie widzę tylko jak masz podłączoną diodę, do pinu PC0 masz podłączoną katodę czy anodę diody?
    Po wgraniu obojętnie jakiego programu dioda świeci, czy po wgraniu tego co podałeś? Próbowałeś podpiąć pod jakiś inny pin?
    Nie widzę tylko jak podłączone są te dwie diody (zgaszone) ale do prób może je wyjmij, żeby nie przeszkadzały. :d

    Diode mam podłączoną anodą. I jak usunąłem cały kod i go wgrałem do też świeciła.

    Dodano po 3 [minuty]:

    marekhab napisał:
    Nie ustawiłeś portu czy jest wejście czy wyjściem, można dopatrzeć się na pierwszy rzut oka kilka podstawowych błędów.
    Po co się rozpisywać i zaraz krytykować (ja też tak zaczynałem).
    Masz tu link do prostego i w miarę krótkiego (tylko 5 części)kursu, ważna abyś czytał ze zrozumieniem, pisz co opanowałeś, daj znać jak zrozumiesz dlaczego Twój kod nie działa.
    http://hobby.abxyz.bplaced.net/index.php?pid=4&aid=2
    Pierwszą część kursu pomiń jeśli używasz Eclipsa

    Kod: c
    Zaloguj się, aby zobaczyć kod

    chyba ustawiłem :D

    0
  • #9 12 Paź 2017 21:33
    simw
    Poziom 16  

    Tomasz1902 napisał:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    I nie chce mi on działać. Działa tak że dioda na PC0 świeci się cały czas, i nic jej nie zgasi. Gdy w mkAVRCalculator zaznaczyłem "wykonaj kasowanie AVR" to dioda gaśnie ale gdy wgram jakikolwiek program to dioda się zaświeca.
    Myślę, że jasno to zrozumiałem i panowie mi pomogą.
    Pozdrawiam


    Po pierwsze to brakuje Ci w programie pętli while:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Nie pamiętam dokładnie, ale chyba w takim wypadku procesor cały czas Ci się resetuje, z dużą prędkością i dlatego wydaje się dioda świeci, a właściwie miga.
    Dopisz pętlę i sprawdź efekt.

    0
  • #10 12 Paź 2017 21:41
    Tomasz1902
    Poziom 3  

    simw napisał:
    Tomasz1902 napisał:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    I nie chce mi on działać. Działa tak że dioda na PC0 świeci się cały czas, i nic jej nie zgasi. Gdy w mkAVRCalculator zaznaczyłem "wykonaj kasowanie AVR" to dioda gaśnie ale gdy wgram jakikolwiek program to dioda się zaświeca.
    Myślę, że jasno to zrozumiałem i panowie mi pomogą.
    Pozdrawiam


    Po pierwsze to brakuje Ci w programie pętli while:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Nie pamiętam dokładnie, ale chyba w takim wypadku procesor cały czas Ci się resetuje, z dużą prędkością i dlatego wydaje się dioda świeci, a właściwie miga.
    Dopisz pętlę i sprawdź efekt.

    Nic to nie pomogło :(

    0
  • #11 12 Paź 2017 21:42
    maly_ninja
    Poziom 13  

    A próbowałeś podłączyć diodę do innego pinu? Przetestuj jakieś inne losowe, może PC0 jest jakoś uszkodzony?

    0
  • #13 12 Paź 2017 21:59
    Tomasz1902
    Poziom 3  

    marekhab napisał:
    Masz tu prosty krótki kod.
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Nic się nie dzieje, dalej się świeci. A te dwie czerwone to cały czas są zgaszone :(

    0
  • #14 12 Paź 2017 22:02
    maly_ninja
    Poziom 13  

    Nie wiem czy próbowałeś robić to co napisałem. Zaczynaj od minimalistycznego podejścia, wyjmij te dwie diody, zostaw tylko jedną oraz podepnij ją do jakiegoś innego pinu, albo i portu. Jeśli to zadziała to możesz dokładać resztę.

    0
  • #15 12 Paź 2017 22:08
    Tomasz1902
    Poziom 3  

    maly_ninja napisał:
    Nie wiem czy próbowałeś robić to co napisałem. Zaczynaj od minimalistycznego podejścia, wyjmij te dwie diody, zostaw tylko jedną oraz podepnij ją do jakiegoś innego pinu, albo i portu. Jeśli to zadziała to możesz dokładać resztę.

    Tak próbowałem, zostawiłem diode i rezystor i nic.
    Jest jeszcze jedna rzecz. Jak podepnę diode tak jak teraz tylko zmienie port na dowolny inny i dotknę nóżki tej od mikrokontrolera to zaświeca się tylko tak lekko.

    0
  • #16 12 Paź 2017 22:15
    maly_ninja
    Poziom 13  

    Ale po zmianie pinu/portu zmieniasz go w programie (np. PC0 na PB5)?
    Szczerze mówiąc to nie mam pomysłu co to może być, masz możliwość podłączenia innej atmegi? Być może czegoś nie zauważam, poczekajmy aż ktoś inny się wypowie :D

    0
  • #17 12 Paź 2017 22:20
    Tomasz1902
    Poziom 3  

    nie, nic w programie nie zmieniam. A możliwości podłączenia innej atmegi chwilowo nie mam :(

    0
  • #18 12 Paź 2017 22:23
    maly_ninja
    Poziom 13  

    Musisz coś w programie zmienić, żeby się przekonać czy port PC0 nie jest uszkodzony.
    Podepnij diodę do jakiegoś innego portu/pinu np. PB1 i zmień w programie PC0 na PB1, wtedy zaprogramuj atmegę i sprawdź czy działa.

    Jeśli diodę podepniesz pod PB1 program może wyglądać jakoś tak:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    @EDIT
    Zmieniłem PB3 na PB1, PB3 to MOSI więc lepiej nie mieszać Ci na początku :D

    0
  • #19 12 Paź 2017 22:31
    2675900
    Użytkownik usunął konto  
  • #20 12 Paź 2017 22:34
    Tomasz1902
    Poziom 3  

    maly_ninja napisał:
    Musisz coś w programie zmienić, żeby się przekonać czy port PC0 nie jest uszkodzony.
    Podepnij diodę do jakiegoś innego portu/pinu np. PB1 i zmień w programie PC0 na PB1, wtedy zaprogramuj atmegę i sprawdź czy działa.

    Jeśli diodę podepniesz pod PB1 program może wyglądać jakoś tak:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    @EDIT
    Zmieniłem PB3 na PB1, PB3 to MOSI więc lepiej nie mieszać Ci na początku :D

    Dalej nic.
    A może coś wcześniej źle wgrałem, nie do tej pamięci co trzeba czy coś i przez to jest cały czas ten sam program. I warto by było usunąć wszystko z atmegi do zera. I wtedy wgrać na nowo wszystko? tylko jak to zrobić ?

    Dodano po 1 [minuty]:

    Piotrus_999 napisał:
    W naturze cudów nie ma. Jak programistę szkoda te atmege i jakie masz komunikaty w trakcie programowania



    Launching C:\AVRRDUDE\avrdude -pm8 -cusbasp -Uflash:w:Pierwszy.hex:a
    Output:

    Please wait ...

    avrdude_mk.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude_mk.exe: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% -0.00s

    avrdude_mk.exe: Device signature = 0x1e9307
    avrdude_mk.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
    To disable this feature, specify the -D option.
    avrdude_mk.exe: erasing chip
    avrdude_mk.exe: warning: cannot set sck period. please check for usbasp firmware update.
    avrdude_mk.exe: reading input file "Pierwszy.hex"
    avrdude_mk.exe: input file Pierwszy.hex auto detected as Intel Hex
    avrdude_mk.exe: writing flash (70 bytes):

    Writing | ################################################## | 100% 0.05s

    avrdude_mk.exe: 70 bytes of flash written
    avrdude_mk.exe: verifying flash memory against Pierwszy.hex:
    avrdude_mk.exe: load data flash data from input file Pierwszy.hex:
    avrdude_mk.exe: input file Pierwszy.hex auto detected as Intel Hex
    avrdude_mk.exe: input file Pierwszy.hex contains 70 bytes
    avrdude_mk.exe: reading on-chip flash data:

    Reading | ################################################## | 100% 0.03s

    avrdude_mk.exe: verifying ...
    avrdude_mk.exe: 70 bytes of flash verified

    avrdude_mk.exe: safemode: Fuses OK

    avrdude_mk.exe done. Thank you.

    Compiled special for http://forum.atnel.pl (v5.11.1)

    avrdude finished

    0
  • #21 12 Paź 2017 22:48
    2675900
    Użytkownik usunął konto  
  • #22 12 Paź 2017 23:13
    Tomasz1902
    Poziom 3  

    Piotrus_999 napisał:
    Rozlacz wszystko i połącz ponownie jaki masz opornik przy diodzie? Nie palisz portów?

    Nie powinienem. Opornik 330ohm 😁

    0
  • #23 12 Paź 2017 23:23
    2675900
    Użytkownik usunął konto  
  • #24 12 Paź 2017 23:28
    PiotrPitucha
    Poziom 33  

    Witam
    A zasiliłeś AVCC ?
    Pracujesz na porcie analogowym to wypada go zasilić.
    Pozdrawiam

    0
  • #25 12 Paź 2017 23:36
    2675900
    Użytkownik usunął konto  
  • #26 12 Paź 2017 23:44
    Tomasz1902
    Poziom 3  

    PiotrPitucha napisał:
    Witam
    A zasiliłeś AVCC ?
    Pracujesz na porcie analogowym to wypada go zasilić.
    Pozdrawiam

    Tak zasiliłem 😂

    0
  • #27 13 Paź 2017 00:16
    22053
    Użytkownik usunął konto