a odznaczyłeś m103C fusebit?
piotrekl6 znalazłem rozwiązanie: Winę ponosi kompatybilność z MEGA103. W fuse bitach trzeba zaprogramować ten bit czyli np w pony progu odznaczyć pole M103C.
... najdziwniejsze jest to, ze na mega16 ten program działa i nie wiem dlaczego :/ ... Ja stawiam na fusebit M103C :-D
brodda , a co z fusebitem M103C w Twojej M128 :?: Piotrek
Odczyt sygnatury jako "000102" wskazuje, że albo procesor jest zablokowany (lockbity) albo procesor nie wchodzi w programowanie poprawnie za każdym razem - może pin reset jest gdzieś na stałe zwarty do masy albo jest do niego podłączony jakiś duży kondensator? Problem który się ujawni później (sam z siebie nie wpływa na wchodzenie procesora w tryb programowania)...
A wyłączyłeś zgodność z M103C?
M103C wykasowany?
mega128 nie ma bitu CKDIV8 poza tym ten bit to raczej dzielnik a nie mnożnik ;) Nota uC się kłania. Proponuje wyłączyć bit M103C.
A jesteście w 100% pewni, że wyłączyliście tryb kompatybilności z Mega103? Jest on standardowo włączony - w oprogramowaniu, kórego używacie zmieńcie stan fuse'a na przeciwny. W PonyProgu nazywa się M103C.
Atmega128 - domyślnie sprzedawany z zaprogramowanym fusebitem ustawiającym tryb kompatybilności z m103 (bit m103c w efuse). To powoduje, że pamięć ram jest od końca ucięta (o 256 bajtów), a więc spód stosu jest uszkodzony. Wywołanie działa ok, ale powrót powoduje błędy (brak poprawnego adresu powrotu na stosie). Musisz zmienić ten bit w fusebitach,...
Już jest OK. Nalezało ustawić M103C = 1 (unprogrammed) -> ATmega128 niekompatybilna z ATmega103. Pozdrawiam, Łukasz P.S. Dzięki Light-I!
JTAG podłączony masz do pinów PF4-PF7 nie ma więc kolizji z podłączeniem wyświetlacza. Wyświetlacz może więc nie działać z wielu innych powodów, ale z reguły początkowo są to: 1. F_CPU w opcjach projektu ustawione inaczej niż taktowanie mikrokontrolera ustawione fusebitami, 2. błędy w podłączeniu LCD do uC. 3. źle ustawiony kontrast wyświetlacza. Poza...
Ja co prawda używam PonyProg (na domyślnych ustawieniach), ale tą częstotliwość programowania to ustawiasz czy jest ona domyślna? Może warto zmniejszyć.......? Nie wiem też czy potrzebujesz M103C (zgodność z ATmega103) ....?
masz na myśli m103C fusebit ?? jesli tak to zmiana nic nie daje
Moim zdaniem landy13 trafił w sedno. Zdaje się, że 128-ka fabrycznie przychodzi skonfigurowana w trybie kompatybilności z ATmega103, a ta nie ma timera 3. Musisz przestawić fusy. Tak, bit M103C jest zaprogramowany domyślnie, czyli w trybie kompatybilności z ATmega103. Problem polega jednak na tym, że autor tematu nieprawidłowo podchodzi do rozwiązania...
No fabrycznie nowa Mega128 wychodzi z zegarem 1MHz. Jeśli masz taką nową to przy przestawianiu na 8MHz nie zapomnij wyłączyć JTAG i koniecznie wyłącz bit M103C bo to jest bit który ją "cofa w rozwoju" ahahaha czyli robi kompatybilną ze starszą Atmegą103 i tam jest kilka zmian w rejestrach i sprzęcie przez co program na pewno dobrze działać nie będzie...
Działa :) trzeba było odznaczyć M103C w fuse bitach. Wielkie dzięki :) pzdr
Witam ponownie, generalnie mój post dotyczy zmiany "fusebita" ale chciałbym się posłużyć Twoim programem, więc mam nadzieję, że nikt się nie wzburzy, że go tutaj umieszczam. Otóż chciałbym wyłączyć kompatybilność atmegi128 z atmega103, która jest uaktywniona domyślnie. Nawiązując do dokumentacji atmega128 to za ową kompatybilność odpowiada fuse: M103C...
Problem rozwiązany. Okazało się że tak jak sie domyslałem problem tkwił w fuse bitach a dokładnie w bicie M103C jak jest zaznaczony wszystkie programy padały na pętli delay. Wszystkim dziękuję za chęć pomocy. Pozdrawiam Dex
Na porcie C w Mega16/Mega32 od pinu PC2 do PC5 jest interfejs JTAG który domyślnie w nowym procesorze jest włączony i nie pozwala machać pinami. Czy sprawdzałeś ten program na pinach PC0-PC1 lub PC6-PC7? Z drugiej strony to chyba lepiej do testów napisać coś takiego' Cały port powinien mrugać w kółko ;) [syntax=vbnet]Dim Test As Byte Config PORTA =...
Witam. Mam podobny problem tez z At128 i właśnie z portem A . Inicjalizacja się nie powodzi i do tego albo sa kwadraciki albo nic niema. Czasem nawet kursor się pokaże ale nic nie reaguje na komendy. Wie juz wiesz co było u Ciebie przyczyną? Ja dziś sprawdze jak mi ktoś poradził tu własnie na forum by zmienić bit konfiguracyjny kompatybilności z Atmega103...
Co do pierwszego problemu czyli wykonywanie tylko pierwszej lini kodu przez nowy ATMEGA128 to fabrycznie jest on ustawiony w bitach zabezpieczajacych jako MEGA103 czyli jego starszy odpowiednik. W ponyprogu jest to opcja M103C. Wystarczy zmienic na inną niz jest fabrycznie ustawiony.
Miernikiem za bardzo nie sprawdzisz, tylko oscyloskop. Miernikiem możesz ew. spróbować mierzyć napięcie kwarc-gnd, powinno być ok. 2-2,5V przy zasilaniu 5V. Jak jest mniej to z mojego doświadczenia kwarc nie wystartował. Fusebity w PonyProg dla ATMEGA128 i zew. kwarca to: CKOPT - zaznaczony CKSEL0..3 - nie zaznaczone Reszty zmieniać nie musisz (możesz...
Zakładka memory jest w sekcji linkera. Ale nie ma nic do rzeczy. Twój program w ogóle z pamięci nie korzysta - przy -Os wszystko jest w rejestrach MCU. Jeśli fusebit M103C masz skasowany (ma wartość 1), to inną możliwością jest po prostu błędny układ elektroniczny. Twój kod działa poprawnie i w symulatorze i w ATMega128. W M64 też musi działać bo w...
Fuse M103C przestawiony? Dodano po 54 Jesteśmy na forum a nie na wyścigach. Przestawiłeś kolego tego fuse jak Mega przyszła ze sklepu?
Mam nastepujacy problem ze atmega po zaprogramowaniu uruchamia program a pozniej go nagle konczy. chodzi na zewn. kwarcu 16Mhz. Ponizej program: #include <avr/io.h> #include <math.h> #include <util/delay.h> #define F_CPU = 16000000 #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> int main(void)...
Dzień Dobry. Dziękuję za poradę. Do wgrania bootloadera do ATmega128 wykorzystałem Arduino Nano. Najpierw wgrałem do niego program ArduinoISP a potem podłączyłem ATmegę128 do Nano i uruchomiłem wgrywanie bootloadera. Wgrał się bez błędu i ustawił fusebity. Potem zrobiłem odczyt za pomocą Orange 5 aby sprawdzić co zostało zapisane. Zapisany został bootloader...
Raczej tak, ale nie do końca. Pierwszy problem (z którym miałem najwięcej kłopotów :) ) to niezgodność opisu wyprowadzeń z notą katalogową. Podłączając programator ISP trzeba pamiętać, że MOSI to pin PE0 a MISO to PE1 (a nie, jak podają w nocie PB2 i PB3 - chociaż na stronie 304 jest wytłumaczenie tego). PEN nie odgrywa roli przy programowaniu, w czasie...
Dzięki za wszystko, sam bym długo musiał się namęczyć zanim bym do tego doszedł. Trzeba było zmienić z domyślnej wartości bit M103C z extended fusebitów, który faktycznie odpowiadał za kompatybilność z atmega103. A co do inline'a, w K&R nie znajde, ponieważ jest to konstrukcja wywodząca się z języka C++, i faktycznie jeśli mielibyśmy trzymać się standardu...
Fusebity: zwróć jeszcze uwagę na JTAGEN. Fabrycznie jest on włączony (ustawiony na 0) - i to mi kiedyś przysporzyło kłopotów z LCD. Gdy przesiadłem się na mega128 doszły mi jeszcze M103C i WDTON. Też standardowo były na zero i coś mi tam nie stykało. Nie pamiętam już co ale wyłączenie ich pomogło. Skąd 128us? 8000000/1024 = 7812,5Hz. Czyli zegar pracuje...
No dobra, faktycznie 25 ms to mało, ale z 1000 ms czyli jedną sekundą też nie działało wogóle :( Poczytam jeszcze o tym trybie kompatybilności, może w tym tkwi rozwiązanie. Pozdrawiam Piotrek PS. Ale czy wartość 0 przy M103C oraz przy ITAGEN nie świadczy o tym, iż jest to wyłączone ? Dodano po 1 OK. Faktycznie bity ITAGA oraz kompatybilności z 103 były...
To ci się w ogóle kompiluje. Dziwne te aliasy "Bmmc_miso Alias 1" "Bmmc_sck Alias 1" ALIAS jest podobna do #define w języku C. Po prostu nazwie przed słowem kluczowym "przypisujesz" inną wartość - za słowem kluczowym, właśnie po to by nie przerabiać całego programu na nowo tylko same "przypisania". To, że najczęściej programy wykorzystują konstrukcje:...
Taktowanie 16Mhz. Próbowałem różne pętle i zawsze to samo. Optymalizację mam wyłączoną ( -O0 ). Z początku myślałem, że chodzi o fusebity ( JTAGEN i M103C ) ale po wyłaczeniu to samo, zresztą dziwne jest to że program w assemblerze działa. Dodano po 4 eekhmm głupio mi :) właśnie wpadłem, że używam portu A :) przepinałem ledy z portu D na A i w programie...
Patrząc po temacie w którym okazało się, że winą dziwnej pracy uC był fusebit M103C można bez problemu opisać powstawanie błędu: spód stosu był niepoprawny (w m103 pamięć kończy się niżej), a więc powrót z przerwania był skokiem w losowe miejsce co kończyło się resetem procesora stąd niezależność od wpisanej wartości, jednak od pewnej krytycznej wartości,...
Witam! Już drugi raz w ciągu ostatnich dwóch miesięcy zdarzył mi się nastepujący scenariusz: Programuję Atmega128 dosyć często. Co kilkadziesiąt prób program nie robi tego co powinien - najczęściej wysyła śmieci na UART. Poprzednie programy, które działały bez zarzutu, równierz nie działają tak jak powinny. Ponieważ już raz mi się to zdarzyło to zerknąłem...
Witam serdecznie. Mój cel jest dosyć prosty - zbudować termometr oparty na uC ATmega128 wykorzystując czujnik DS18B20. Sprawa wydawała się banalna - wydawała się, gdyż niestety do tej porty nie potrafię sobie z tym poradzić. KOD: Identyczny jak ten ze strony http://hobby.abxyz.bplaced.net/index.php... (oczywiście ze zmienionym pinem 1wire):...
Programator widzi a128 fusebit P ustawiony atmega128 rezonator 12000000 kompilacja ok zapisuje do kości program a potem nic na at8 proste miganie diodami zawsze działało. Nie wiem jeszcze czy ma to związek ale avcc-64 vcc-52 vcc-21 oraz gnd-63 gnd-53 gnd-22 masy razem zasilania razem tylko niewiem czy avcc powinno być tak podłączone. Programator ustawiony...
Miga PE3 co 1sekunde. U mnien iestety zapalil PE3 i swieci nieprzerwanie... Moze jeszcze pokaze jak ustawilem fusebity: http://obrazki.elektroda.net/31_12094142... [EDIT] No oczywiscie mea culpa, mea bardzo wielka culpa. M103C byl ustawiony i z MEGA128 zrobila sie MEGA103.
PDO PDI podpięte zamiast mosi miso to wyczytałem na elektrodzie. Programator widzi a128 fusebit P ustawiony atmega128 rezonator 12000000 kompilacja ok zapisuje do kości program a potem nic na at8 proste miganie diodami zawsze działało. Nie wiem jeszcze czy ma to związek ale avcc-64 vcc-52 vcc-21 oraz gnd-63 gnd-53 gnd-22 masy razem zasilania razem tylko...
Witam ponownie Firma Propox odpowiedziała mi na maila. Mam pliki *.hex. Problem pojawił się natomiast z zaprogramowaniem fusebitów. Pytając ich o fusebity dali mi następującą odpowiedź: Fusebity -f 0x812f -E 0xff Początkowo myślałem, że jest to komenda do avrdude, ale okazało się że nie, gdyż otrzymałem od nich następującą odpowiedź: Jest to komenda...
Piszesz ze chcesz sterować PC.7 a w programie ustawiasz PD.7. Przepraszam, miało być portd.7. Sprawdzałem poziomy napięć na innych pinach, to samo, tak jakby uC tego nie kontrolował. Ma wczytany program ale go nie wykonuje. Moje ustawienia fuse bits: D:\FF_download\ArduinoUploader>av... -p m128 -c usbasp -P lpt1 -U lfuse:r:-:h...
Witam Po przejściach z PWMami oraz diodami LED przyszedł czas na coś bardziej ambitniejszego mianowicie ADC. Ze strony: Program działa w następujący sposób: Po uruchomieniu programu obydwie diody nie świecą się, ponieważ nie było żadnego uruchomienia konwersji. Naciśnięcie klawisza powoduje porównanie 10 bitowego wyniku z rejestru ADC z zdeklarowanymi...
(at)lycon5 Zmień ustawienia fusebitu M103C - MCU jest sprzedawany z zaprogramowanym fusebitem, co zmienia działanie na tryb kompatybilności z ATMega103 - w efekcie stos jest ustawiany na nieistniejącą pamięć RAM jeśli używasz M64.
W sumie z mojej strony mam taką prośbę do osób zainteresowanych programatorem które maja wolna chwilę. Do poprawnej pracy programatora wymagany jest opis układów zawarty w pliku PartList.cfg Nie ma co ukrywać że trzeba ten plik stworzyć. Na chwile obecną mam do niego dodane 4 układy... Dodawanie nie jest to praca trudna, ale trochę mozolna polegająca...
podstawa atmega128 atmega128 przerwania atmega128 fusebit
klimatyzacja błędy ricoh drukuje stronę testową silnik nożyce żywopłot
przesterowanie wejścia tunera wsady biosu
Mocowanie wyżłów do szyb w kabinie prysznicowej Pralka wchodzi na wysokie obroty i zatrzymuje się