Witam,
Mam układ z ATMEGA128 taktowany kwarcem 16MHz. Wszystko od dawna już działało bardzo dobrze - do wczoraj. Rzec by można "samo się", ale wiele razy doświadczyłem już, że nigdy nic samo się nie robi...
Wczoraj chciałem, żeby układ ten komunikował sie z innym (atmega8) po SPI. Napisałem prosty program dla obu procków, który miał wysyłać i odbierać jeden bajt. Wgrałem (programator zgodny z STK500V2) i nie działa. Stwierdziłem, że błąd w programie, coś tam zmieniłem i chciałem wgrać drugi raz do układu z ATMEGA128 i już sie nie dało. Tzn. AVR Studio stwierdziło, że proces zapisu i odczytu powiódł się, ale weryfikacja już nie... Dla sprawdzenia procka odczytałem sygnaturę i w odpowiedzi dostałem coś, co nie było sygnaturą tej atmegi. Kolejna próba: wyłączyłem zasilanie układu, odczytałem sygnaturę - ok, wgrałem program, weryfikacja - ok, włączam zasilanie i nic... Program jakby się nie wykonywał albo cały czas resetował. Próby programowania na włączonym zasilaniu dawały taki sam efekt jak wcześniej. Zmieniłem program na taki, który steruje dwiema diodami, jedna świeci ciągle, a druga miga i wgrałem na wyłączonym zasilaniu. I teraz po włączeniu, diody zapalają się losowo, świecą jaśniej/ciemniej lub w ogóle.
Na początku pomyślałem, że to wina zasilania i procek się resetuje, no ale wcześniej było wszystko w porządku, więc szukałem dalej. Z ciekawości przeprogramowałem fusebity na oscylator wewnętrzny 1MHz i nagle układ ożył. Na 4MHz też działa, ale na 8MHz już nie, dzieje się to samo, co przy zewnętrznym 16MHz.
Czy ktoś domyśla się co może być przyczyną? (Czy to dobrze, jak słychać "bzyczenie" kwarcu 16MHz?
)
Mam układ z ATMEGA128 taktowany kwarcem 16MHz. Wszystko od dawna już działało bardzo dobrze - do wczoraj. Rzec by można "samo się", ale wiele razy doświadczyłem już, że nigdy nic samo się nie robi...
Wczoraj chciałem, żeby układ ten komunikował sie z innym (atmega8) po SPI. Napisałem prosty program dla obu procków, który miał wysyłać i odbierać jeden bajt. Wgrałem (programator zgodny z STK500V2) i nie działa. Stwierdziłem, że błąd w programie, coś tam zmieniłem i chciałem wgrać drugi raz do układu z ATMEGA128 i już sie nie dało. Tzn. AVR Studio stwierdziło, że proces zapisu i odczytu powiódł się, ale weryfikacja już nie... Dla sprawdzenia procka odczytałem sygnaturę i w odpowiedzi dostałem coś, co nie było sygnaturą tej atmegi. Kolejna próba: wyłączyłem zasilanie układu, odczytałem sygnaturę - ok, wgrałem program, weryfikacja - ok, włączam zasilanie i nic... Program jakby się nie wykonywał albo cały czas resetował. Próby programowania na włączonym zasilaniu dawały taki sam efekt jak wcześniej. Zmieniłem program na taki, który steruje dwiema diodami, jedna świeci ciągle, a druga miga i wgrałem na wyłączonym zasilaniu. I teraz po włączeniu, diody zapalają się losowo, świecą jaśniej/ciemniej lub w ogóle.
Na początku pomyślałem, że to wina zasilania i procek się resetuje, no ale wcześniej było wszystko w porządku, więc szukałem dalej. Z ciekawości przeprogramowałem fusebity na oscylator wewnętrzny 1MHz i nagle układ ożył. Na 4MHz też działa, ale na 8MHz już nie, dzieje się to samo, co przy zewnętrznym 16MHz.
Czy ktoś domyśla się co może być przyczyną? (Czy to dobrze, jak słychać "bzyczenie" kwarcu 16MHz?