Skocz do zawartości

Microboard M328-pierwszy program


Pomocna odpowiedź

OK, to przynajmniej wiemy, że jej (dziwne) zachowanie zależy jednak od programu. To teraz spróbuj z kodem, który tylko ją włącza i zwisa:

int main(void)
{
  LED_ON;
  while(1);
}

To pozwoli sprawdzić, czy mruganie pochodzi z dziwnego działania opóźnień czy jednak procesor w kółko resetuje się. Możesz też spróbować wygenerować jedno błyśnięcie (on-delay-off) i po nim zwis. Jeśli diodka będzie mrugać bez końca to znaczy, że procesor wielokrotnie przechodzi przez reset. Czy sprawdziłeś fuse bity? I tak Cię to czeka, plus poprawienie ustawień systemu IDE na prawdziwą częstotliwość taktowania.

Przypominam, że w fuse bitach jest też pole wyznaczające próg wewnętrznego detektora napięcia (tzw. BOD). Jeżeli jest ustawiony wysoko a na zasilaniu pojawiają się nawet niewielkie dołki, procesor będzie zerowany bardzo często. Miałem kiedyś przypadek ATmegi, która nie chciała działać z 5.0V po ustawieniu BOD na 4.3V (BODLEVEL=100). Musiałem zejść do kolejnego progu (2.7V) i dopiero było OK. Czas ogarnąć fuse bity.

  • 2 tygodnie później...

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