atmega8 i FUSY po raz kolejny

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
rdt
-
Posty: 10
Rejestracja: 28 sie 2005, 11:20
Lokalizacja: mazowieckie

atmega8 i FUSY po raz kolejny

Post autor: rdt » 25 mar 2009, 18:57

Witam - jeszcze jej nie zablokowałem ale:
Więc problem jest następujący:
mam atmege8 kwarc 8 MHz i fusy ustawione jak na rysunku fusy1

płytka podobna do testowej z mikroprocesorowej oślej łączki pod portB podpięte segmenty a,b,g,f
program naskrobany w bascomie
działa prawie OK - nie zgadzają się czasy waitms 20 trwa około pół sekundy ale segmenty się zapalają i gasną prawidłowo
pomyślałem - nie odmierza czasu prawidłowo pewnie kwestia konfiguracji słynnych FUSE dotyczących rezonatora
po przeczytaniu "Fuse Bits czyli dramat AVR'ów w 3 aktach..."
ustawiłem fusy jak na rysunku fusy2
niestety wyświetlacz raz tylko zapala segmenty i ich nie gasi w trakcie polecenia ROTATE
oto kod programu




$regfile = "m8def.dat"
$crystal = 8000000
Config Portb = Output
Portb = &B11111110
Config Portc = Input
Portc = &B1111111
Do
Waitms 20'-przy ustawieniach FUSE2 zmieniam na wait 1

If Pinc.0 = 0 Then
Gosub Etykieta1
Else
Gosub Etykieta2
End If
Loop


Etykieta1:
Rotate Portb , Left , 1
If Portb = &B11101111 Then
Portb = &B11111110
End If

Return

Etykieta2:
Rotate Portb , Right , 1
If Portb = &B01111111 Then
Portb = &B11101111
End If

Return
'Portb.0 = Not Portb.0
'Waitus 1


[ Dodano: 2009-03-26, 20:13 ]
OK
więc problem prawie rozwiązany:
na wewnętrznym oscylatorze było OK bo mogłem korzystać z portów PB.6 i PB.7
dłuższy czas dzialania wynikał pewnie z zadeklarowanej wartości kwarcu

na zewnętrznym nie dzialalo poprawnie bo bawiłem się bitami na porcie B


Więc teraz takie pytanie:- jak konfigurować porty które mają dodatkowe funkcje -
OC1 TxD RxD Xtal1 Xtal2 ??
Załączniki
fusy1.JPG
fusy2.JPG

ODPOWIEDZ