Skocz do zawartości

[C] Program po wgraniu do uC nie działa


Pomocna odpowiedź

Napisano

Cześć,

Zaczynamam przygodę z mikrokontrolerami, walczyłem trochę z programatorem, po kilku godzinach programator został pokonany zworką slow SCK, połączyłem się z atmegą8A, zmieniłem fusebity odpowiedzialne za taktowanie na 0010, rozłączyłem zworkę slow SCK, skrobnąłem prosty programik:

#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>



int main(void){
   while(1){
       DDRB = (1<<PB1);
       _delay_ms(500);
       DDRB = (0<<PB1);
       _delay_ms(500);
   }
   return 0;
}

wyczyściłem FLASHa, wgrałem do FLASH mój skompilowany przez avr-gcc programik, no i w sumie nic sie nie dzieje. Wywaliłem opornik i podłączyłem diodę bezpośrednio katodą pod nożkę PB0, natomiast anodę podłączyłem to lini zasilania 5V na stykówce, próbowałem zasilać układ z modułu zasilania jak i z programatora i nic, jak się nie świeci tak się nie świeci, gdzie może być problem?

W programie używasz innej linii niż PB0 a diodę musisz koniecznie podłączyć przez opornik.

Poza tym dziwnie to wykombinowałeś. Przecież rejestr DDR służy do programowania kierunku a nie stanów na linach. Standardem jest ustawienie DDR na stały kierunek a machanie zawartością rejestru portu np. PORTB.

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...