Witam.
Zaprojektowałem układ i programowałem atmegę 8, którą wymieniłem na 328 bo pamięci zaczęło brakować.
Po przestudiowaniu datasheeta dla atmegi328p przerobiłem program tak, by wszystko działało.
Jednak niestety, program nie ruszył. Pomyślałem, cóż, zdarza się, i zacząłem eliminować niektóre funkcje - bez efektu, aż doszedłem do wniosku, że należałoby sprawdzić czy w ogóle procek działa.
Napisałem coś, co nie może nie działać:
Kod:
#include <avr/io.h>
int main(void)
{
DDRB=0x00;
DDRC=0x00;
DDRD = 0x01;
PORTD = 0x01;
while(1);
return 0;
}
Jakie było moje zdziwienie, gdy w po zaprogramowaniu procesora dioda podłączona do pD.0 miga!!!
Ustaliłem za pomocą oscyloskopu, że po ustawieniu wartości pinu program działa jeszcze około 15ms i restartuje się dzięki czemu jest to miganie.
Tak właściwie to procesor restartuje się po tych 15ms niezależnie od tego co bym umieścił w programie...
Niestety nie mam innej sztuki megi328p. Czy może to być wada tej konkretnej sztuki? Spotkał się ktokolwiek z takim zachowaniem? Dodam, że AVRami bawię się już dosyć długo, elektroniką także...