Skocz do zawartości

Problem z przesłaniem programu do uC


Pomocna odpowiedź

Napisano

Witam, napisałem bardzo prosty program, który ma zapalać i zgaszać diodę.

To jest ten program:

#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>

int main(void)

{

DDRD = 0xFF;

while(1);
{
PORTD = 0x01;
_delay_ms(330);
}
}

Skompilowałem go, efekt końcowy Process Exit Code: 0, więc chyba w porządku.

Tylko jest błąd z przesłaniem programu do uC, wywala taki błąd:

 "make.exe" program
avrdude -p atmega8 -P usb -c usbasp    -E noreset  -U flash:w:led.hex 
avrdude: WARNING: -E option not supported by this programmer type

avrdude: error: programm enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
        Double check connections and try again, or use -F to override
        this check.


avrdude done.  Thank you.

make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:01

Wiecie może o co chodzi??

__________

Komentarz dodany przez: Nawyk

Używaj znaczników [ code] i [ /code]

Schematu nie mam, instalowałem elementy na płytce stykowej samemu. Wtyki z programatora myślę że mam dobrze podłączone, diodę wraz z rezystorem 10k podłączyłem do pinu PD7. Jeśli chodzi o zasilanie, przerobiłem zasilacz 5V, że na końcu ma 2 goldpiny i mogę nim zasilić płytkę stykową... Podłączyłem je do wejścia VCC i GND uC, nie wiem czy tak w sumie można. Zrobiłem tego zdjęcie, sorry za jakość ale robione telefonem, mam nadzieję że coś będzie widać🙂

Zdjęcie

Edit: Słuchajcie zmieniłem zasilanie na to z programatora i dało radę🙂 tylko normalne jest to że zawsze jest jakiś następny problem... Dioda się w ogóle nie świeci, czy wiecie może co jest tego przyczyną?

eeee ten rezystor 10K ogranicza prąd diody ? Jeśli tak to masz odpowiedź . Po za tym sprawdź polaryzacje...

W sumie nie kumam za bardzo z tą polaryzacją, bo + i - jest podłączony do uC, a dioda do PINu7, więc mam włączyć diodę na dwie ścieżki na płytce? żeby katoda i anoda miała jedną ścieżkę? sorry, zielony jestem jak zauważyliście:) a co do rezystora, kiedyś zasiliłem diodę programatorem i spaliłem ją, więc chyba rezystor tutaj jest potrzebny:) a jeśli zasilę uC zasilaczem, podłączając go do VCC i GND uC, będzie działać? Jeszcze nigdy nie zaprogramowałem niczego, ale jak na razie doszedłem najdalej:) choć teraz to chyba kwestia odpowiedniego zasilenia uC, jak i podłączenia diody.

Zrobię jeszcze jedno zdjęcie, czy dobrze kombinuję...

Edit:

Zdjęcie

ooj panie majster widzę wiedzy elementarnej brak 😅

Radzę sięgnąć do jakiś poradników w internecie...

Ale tak dłuższą nóżkę diody "+" łączysz z którymś pinem uC a "-" z Masą tzn z ujemnym źródłem zasilania... Rezystor liczysz z prawa ohma ale dla 5V powinnien mieć on wartość około 1KΩ

Ależ podłączam anodę diody do pinu 7 w porcie D, "-" do katody oraz GND uC, jak i "+" do VCC uC... Wiem o czym pan mówi, tylko zastanawia mnie fakt dlaczego to ustrojstwo nie chce działać, a trudzę się parę godzin pewnie nad banalną rzeczą...

1) Nie napisałeś co to za uP - z mętnego zdjęcia domyślam się tylko, że to ATMega8

2) ATMega8 ma jeszcze jedną GND - nie podpiąłeś

3) Podłącz chociaż w minimalnej kopnfiguracji RESET przez rezystor do VCC

4) Zmień F_CPU, bo domyślam się, że uP chodzi na wewnętrznym oscylatorze.

To tyle tak na szybko.

Słuchajcie zmieniłem zasilanie na to z programatora i dało radę🙂

Bo zapewne nie miałeś połączonych mas programatora i poprzedniego zasilania.

Patrząc na Twoje zdjęcia - potrzebna Ci wiedza:

1. http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html

2. https://www.forbot.pl/forum/topics20/dla-poczatkujacych-zaklocenia-w-pracy-mikrokontrolerow-poradnik-praktyczny-dla-robotykow-vt6913.htm

Ok poczytałem trochę, nie wiedziałem że uC może posiadać więcej pinów zasilających i że trzeba je podłączyć, jak i reset z opornikiem, również z tym rezystorem... No 10k ohm to prawie że się nie świeci, nie sądziłem że jest to tak ważne. Również z programem, trzeba było dodać podobną linijkę, z tym że wszystkie piny na 0:P więc dziękuje za odpowiedzi. Tylko nadal no mam problem z podłączeniem tego... Na różne sposoby próbuje i no jakoś nie idzie 😋 a no zależy mi na tym bardzo, bo gdy podłącze jedną diodę prawidłowo, to spróbuje z włącznikami i dalej powoli będę nabywał umiejętności.

Otóż jeśli program przesłał program do Atmegi, to przy prawidłowym podłączeniu od razu będzie działać tak?

A z tym podłączeniem no nie wiem co może być nie tak... Reset podłączony do VCC wraz z rezystorem 10k ohm, pin VCC z kondensatorem 100nF do "+", 2x GND wiadomo do masy, AVCC rownież do "+", Anodę do pinu 7 portuD wraz z rezystorem 300ohm(nie znalazłem 150ohm), katodę do GND... A może coś z programem?? Spróbuje jutro zrobić tego schemat.

Ok, proszę oto schemat.

Obrazek

1. Dioda jest źle podłączona - cały czas płynie przez nią prąd niezależnie co jest na pinie mikrokontrolera. Usuń połączenie diody do Vcc (+5V).

2. Przy C1 nie zaznaczyłeś masy - zakładam, że to błąd tylko na schemacie.

Pomijam brak filtracji zasilania na AVcc układ testowy i tak powinien działać.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...