Skocz do zawartości

Problem z przesłaniem programu do uC


miccaldo

Pomocna odpowiedź

PORTD = 0x01; 

ustawia jedynkę na PD0, a Ty masz podpiętą diodę pod PD7, zrób tak:

PORTD = (1<<PD7); 

i nie używaj liczb tylko definiowane nazwy.

a tak będzie zmieniać stan na przeciwny:

PORTD ^= (1<<PD7); 
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Teraz mi przesłało, chyba źle podłączyłem przejściówkę do programatora.

Podłączyłem jak należy i niestety dioda nadal nie działa... No to może program? 😋 męcząca ta dioda, strach pomyśleć o bardziej rozbudowanych projektach 😋

Jak np.dotknę nóżką od zasilacza VCC do pinu PD7, to dioda świeci, więc jakby zasilanie nie przechodzi przez uC, no to wydaje mi się że jednak coś z programem... Na pewno dobry?

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

int main(void)

{

DDRD = 0xFF;

while(1);
{
PORTD = (1<<PD7); 
_delay_ms(330);
PORTD ^= (1<<PD7);
_delay_ms(330);
}
}
Link do komentarza
Share on other sites

Ok, z programatorem.

Tylko programator przesyła program tylko kiedy zasilę układ przez programator, jeśli zasilę poprzez zasilacz, jest błąd, dlaczego to ja nie wiem... A zasilacz jest dobry na pewno.

Link do komentarza
Share on other sites

Nie, masa programatora nie jest podłączona, a powinna być?

Tak 🙂

Jeżeli programujesz układ z komputera, a zasilanie mikrokontrolera masz z innego źródła niż komputer, to masy muszą być połączone (tylko masy! Vcc już nie!).

Nie wkleiłeś aktualnego programu.

Czy po programowaniu masz włączoną weryfikację? Jeżeli tak to czy jest OK?

  • Lubię! 1
Link do komentarza
Share on other sites

Po podłączeniu GND programatora, program przesyła się bezproblemowo 🙂 ale dziwi mnie, że w instrukcji programatora jest napisane, że kiedy układ nie jest zasilany przez programator, należy ściągnąć zworkę, u mnie odwrotnie, przy założeniu zworki przesłało... ale być może to kwestia taktowania procesora. Ok, ważne że działa. Teraz z kolei pozostaje problem nie działającej diody... Wszystko jest raczej podłączone jak należy, proszę oto aktualny program:

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

int main(void) 

{ 

DDRD = 0xFF; 

while(1); 
{ 
PORTD = (1<<PD7); 
_delay_ms(330); 
PORTD ^= (1<<PD7); 
_delay_ms(330); 
} 
}
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.