Witam,
Co robię źle (do portu B jest dołączonych 8 ledów. Chcę aby zapalała się jedna i przesuwała się - czyli najprostrzy punkt przesuwający się w jednym kierunku. Mega8 jest taktowany zewnętrznym rezonatorem kwarcowym 8MHz. Aby zaświecić diodę to na pinie w porcie ma być 0. Niby to jest bardzo proste i powinno działać a zachowuje się dziwnie)
napisałem sobie taki programik w bascomie:
ustawienia fuse: cksel = 1111, sut1.0 (to dowolne, mam 10)
Po zaprogramowaniu procka, diody się świecą i to nie wszystkie jednocześnie. Procek nie jest uszkodzony (nowy). Czy ma na to konfiguracja w BASCOM dla portu B (LCD i 1-wire, standardowa - tam są przyporządkowane poszczególne piny portu B (nic nie zmieniałem). Po kompilacji w bascomie, mam plik hex, który wpisuję do uC z poziomu AVR Studio (mam prgramator z nim współpracujący). A może na takie zachowanie ma wpływ ustawienia fuse BODEN i BOD, BODLEVEL. Mam procka ATmega8 16PU. Nie można wykorzystać wszystkich pinów portu B jak chcemy ? Może gadam "głupoty", ale jak zmienię na inny port np. C, lub D to działa. Co jest źle ???
pozdrawiam
pozdrawiam
Dodano po 3 [minuty]:
Oczywiście zamiast "Po zaprogramowaniu procka, diody się świecą i to nie wszystkie jednocześnie. Procek" miał być:
Po zaprogramowaniu procka, diody się świecą i to wszystkie jednocześnie
Co robię źle (do portu B jest dołączonych 8 ledów. Chcę aby zapalała się jedna i przesuwała się - czyli najprostrzy punkt przesuwający się w jednym kierunku. Mega8 jest taktowany zewnętrznym rezonatorem kwarcowym 8MHz. Aby zaświecić diodę to na pinie w porcie ma być 0. Niby to jest bardzo proste i powinno działać a zachowuje się dziwnie)
napisałem sobie taki programik w bascomie:
$crystal = 8000000
$regfile = "m8def.dat"
config portb = output ' ustawiam port B jako wyjściowy
portb = &B11111110 ' ustawiam wartości początkowe (1 led ma być zapalony)
' w pętelce przesuwam bity np. w lewo
do
rotate portb. left
waitms 100 ' czekam np. 100ms, po tym czasie powinna się zapalić następna itd.
loop
end
ustawienia fuse: cksel = 1111, sut1.0 (to dowolne, mam 10)
Po zaprogramowaniu procka, diody się świecą i to nie wszystkie jednocześnie. Procek nie jest uszkodzony (nowy). Czy ma na to konfiguracja w BASCOM dla portu B (LCD i 1-wire, standardowa - tam są przyporządkowane poszczególne piny portu B (nic nie zmieniałem). Po kompilacji w bascomie, mam plik hex, który wpisuję do uC z poziomu AVR Studio (mam prgramator z nim współpracujący). A może na takie zachowanie ma wpływ ustawienia fuse BODEN i BOD, BODLEVEL. Mam procka ATmega8 16PU. Nie można wykorzystać wszystkich pinów portu B jak chcemy ? Może gadam "głupoty", ale jak zmienię na inny port np. C, lub D to działa. Co jest źle ???
pozdrawiam
pozdrawiam
Dodano po 3 [minuty]:
Oczywiście zamiast "Po zaprogramowaniu procka, diody się świecą i to nie wszystkie jednocześnie. Procek" miał być:
Po zaprogramowaniu procka, diody się świecą i to wszystkie jednocześnie