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.

Nieprawidłowości z programatorem USB ASP

matiu6565 21 Gru 2014 16:21 861 14
  • #1 21 Gru 2014 16:21
    matiu6565
    Poziom 10  

    Witam, jako że to mój pierwszy post z góry przepraszam za wszelkie nieprawidłowości.
    Zakupiłem programator mikrokontrolerów AVR USBASP za 15 zł na allegro, programuje w bascomie i używam atmegi8L. Otóż po w graniu prostego programu (świecenie diodą) procesor nie chce wykonywać programu. Kilkukrotnie próbując wgrać ten sam program dioda zaczyna świecić albo nie świecić ale np miganie diody już nie następuje nawet choćbym nie wiadomo ile razy wgrywał program. Pomocy!

    0 14
  • #2 21 Gru 2014 16:24
    Gienek
    Poziom 35  

    To nie jest wina programatora.
    Sprawdź czy montaż urządzenia wykonałeś poprawnie i czy poprawnie ustawiłeś fuse bity.

    0
  • #3 21 Gru 2014 16:39
    matiu6565
    Poziom 10  

    Jeśli mógłbyś mnie pokierować jak i gdzie je ustawić? Dzięki z góry :D

    0
  • #4 21 Gru 2014 16:54
    Gienek
    Poziom 35  

    Może coś Ci pomogę, ale zdradź tajemnicę z jakiego schematu urządzenia korzystasz i jaki wykorzystujesz kod programu (podaj schemat, stronę itp)

    0
  • #5 21 Gru 2014 23:34
    dondu
    Moderator Mikrokontrolery Projektowanie

    ... oraz:
    - wyjaśnij na jakiej podstawie sądzisz, że mikrokontroler został zaprogramowany,
    - czy przestawiałeś fusebity?

    matiu6565 napisał:
    Jeśli mógłbyś mnie pokierować jak i gdzie je ustawić? Dzięki z góry :D

    Przeanalizuj swój projekt pod kątem najczęściej występujących problemów: http://mikrokontrolery.blogspot.com/2011/04/problemy-z-zaprogramowaniem.html
    ale sumiennie ... nie pomijaj żadnego punktu.

    0
  • #6 22 Gru 2014 09:14
    matiu6565
    Poziom 10  

    Nieprawidłowości z programatorem USB ASP Nieprawidłowości z programatorem USB ASP

    Twierdze tak na podstawie tego ze próbując kilkukrotnie wgrywać program procesor wystawi 1 lub 0 na 15 nóżce. Ale to po wielokrotnych próbach wgrania programu.

    0
  • #8 22 Gru 2014 09:36
    matiu6565
    Poziom 10  

    Jaki program polecisz do programowania w języku C/C++?
    I zanim się przesiądę na inny program chciałbym mimo to wiedzieć dlaczego bascom sprawia takie problemy? Nie lubię zostawiać spraw bez wyjaśnienia.

    0
  • #9 22 Gru 2014 09:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Podałem odpowiedzi na wszystkie Twoje powyżej postawione pytania i wątpliwości - po prostu przeczytaj artykuł pod wskazanym linkiem i zaglądnij do spisu treści strony - tam znajdziesz wszystko łącznie z kursem C oraz AVR.

    0
  • #10 22 Gru 2014 11:47
    landy13
    Poziom 29  

    matiu6565 napisał:
    dlaczego bascom sprawia takie problemy?
    Bo go nie znasz.

    Czy to wina Bascoma, że diodę podłączasz do C0 a zapalać próbujesz B1?
    Czy to wina Bascoma, że zapalać próbujesz B1 a ustawisz go jako wejście?
    Czy to wina Bascoma, że oczekujesz migania diody tylko ją gasząc a nie zapalając?
    Czy to wina Bascoma, że ustawiasz port wejściowy zamiast wyjściowy?

    Przy tak nikłej wiedzy programowanie w żadnym języku nie przyniesie efektu.

    0
  • #11 22 Gru 2014 16:14
    matiu6565
    Poziom 10  

    landy13

    Odpowiadam:
    1. Ok tu mój błąd w programie, ale poprawiłem.
    2. PINB.1 ustawiony jest jako wyjście(output).
    3.Program którego zdjęcie wrzuciłem służy tylko do świecenia diody, nie do migania (do migania inny pisałem rzecz jasna, ale narazie skupmy się na jej zapaleniu).
    4. Jak wyżej wspomniałem przecież PINB.1 ustawiony jest jako wyjście.

    Problem ten sam.

    0
  • #12 22 Gru 2014 19:15
    landy13
    Poziom 29  

    matiu6565 napisał:
    2. PINB.1 ustawiony jest jako wyjście(output).
    Coż z tego jeśli już w następnej linii przestawiasz na wejście i tak pozostaje (config pinb.1 = 0)

    3 Zapodaj więc aktualny schemat, aktualny program i aktualne oczekiwania co do niego. Będzie wiadomo o co chodzi.

    matiu6565 napisał:
    4. Jak wyżej wspomniałem przecież PINB.1 ustawiony jest jako wyjście.
    Wyraziłem się nieprecyzyjnie. Nie chodzi o konfigurację pinu jako wyjście (choć jak pokazałem wyżej jest błędna) ale o jego ustawianie w stan wysoki lub niski. Operujesz na rejestrze wejściowym (PIN) zamiast na wyjściowym (PORT).

    0
  • #13 22 Gru 2014 21:21
    dondu
    Moderator Mikrokontrolery Projektowanie

    Przeczytałeś argumentację dot. C i BASCOM?
    Zastanowiłeś się nad nimi?

    To samo w C:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    Liczby podałem w systemie dwójkowym byś widział który bit jest ustawiany. Możesz jednak podać je w systemie szesnastkowym 0x02 lub dziesiętnym 2, ale tego ostatniego akurat nie polecam.

    Pamiętaj jednak, że jeżeli chcesz zapalać diodę stanem wysokim na pinie mikrokontrolera, to należy ją odwrotnie podłączyć (anodą w stronę pinu mikrokontrolera a katodą do masy + rezystor oczywiście).

    W załączniku plik HEX. Wgraj go do mikrokontrolera, a będziesz miał pewność, że jest prawidłowo napisany i skompilowany - musi więc zadziałać.

    0
  • #14 24 Gru 2014 10:18
    matiu6565
    Poziom 10  

    OK. Udało mi się zapalić i zgasić diodę. Już wiem mniej więcej gdzie błędów szukać.
    Macie może jakieś namiary na kurs atmel studio 6? Który prowadził by za ręke?

    0
  • #15 24 Gru 2014 11:44
    dondu
    Moderator Mikrokontrolery Projektowanie