Witam.
Obecnie tworzę projekt na atmega128 i testowałem go na kwarcu 4MHz i wszystko działa poprawnie. Jako że chciałem zwiększyć prędkość działania programu zamieniłem kwarc na 16MHz, wszystkie ustawienia dotyczące kwarcu w bascom AVR zmieniłem i natrafiłem na ciekawy problem.
Poszukując przyczyny nie działania programu skasowałem wszystko oprócz konfiguracji portów i napisałem banalny programik który powinien działać (działa na 4MHz) lecz nie działa.
Poniżej mój program:
Powyższy program nie działa, a ja zauważyłem pewną zależność. Jeśli pomiędzy konfiguracją portów wpiszę to co poniżej to wszystko jest dobrze i program działa jak powinien.
Czy ktoś spotkał się z takim problemem? Oczywiście to rozwiązanie można by zostawić, lecz konfiguruję również dużo zmiennych i przez takie opóźnienia zrobi się bałagan a ja nie wiem czy to jest normalne zachowanie kontrolera.
Z góry dziękuję za wszelkie pomocne wskazówki.
Kod proszę umieścić w znacznikach code.
Robak
Obecnie tworzę projekt na atmega128 i testowałem go na kwarcu 4MHz i wszystko działa poprawnie. Jako że chciałem zwiększyć prędkość działania programu zamieniłem kwarc na 16MHz, wszystkie ustawienia dotyczące kwarcu w bascom AVR zmieniłem i natrafiłem na ciekawy problem.
Poszukując przyczyny nie działania programu skasowałem wszystko oprócz konfiguracji portów i napisałem banalny programik który powinien działać (działa na 4MHz) lecz nie działa.
Poniżej mój program:
config portA = &B1111111
config portB = &B1111111
config portC = &B1111111
config portD = &B1111111
config portE = &B1111111
config portF = &B1111111
config portG = &B1111111
portA=255
portB=255
portC=255
portD=255
portE=255
portF=255
portG=255
do
portF.3=0
wait 1
portF.3=1
wait 1
loopPowyższy program nie działa, a ja zauważyłem pewną zależność. Jeśli pomiędzy konfiguracją portów wpiszę to co poniżej to wszystko jest dobrze i program działa jak powinien.
config portA = &B1111111
waitms 100
config portB = &B1111111
waitms 100
config portC = &B1111111
waitms 100
config portD = &B1111111
waitms 100
config portE = &B1111111
waitms 100
config portF = &B1111111
waitms 100
config portG = &B1111111Czy ktoś spotkał się z takim problemem? Oczywiście to rozwiązanie można by zostawić, lecz konfiguruję również dużo zmiennych i przez takie opóźnienia zrobi się bałagan a ja nie wiem czy to jest normalne zachowanie kontrolera.
Z góry dziękuję za wszelkie pomocne wskazówki.
Kod proszę umieścić w znacznikach code.
Robak
