Banknot -> tak, to dokładnie to samo co ATmega88 tyle że masz na pokładzie 2x więcej pamięci FLASH ale także masz więcej RAM i EEPROM To jedyne różnice - reszta wszystko dokładnie tak samo jak w ATmega88 a wyprowadzenia pinologicznie zgodne ze stareńkim ATmega8. Tyle że mają więcej alternatywnych funkcji. Więc kupuj śmiało. I nie martw się w ogóle brakiem...
Eee znów opacznie interpretujesz parametry... czy ma dla ciebie znaczenie czy temperatura min pracy układu jest -40stC czy 0 stC, przecież to sa dla ciebie zupełnie nieistotne parametry nie wiem dlaczego to tak cie zastanawia :) apropo prędkości to nic się nie zmienia napięcia nie podnosisz Atmega dziła dalej na 5 V lub jezeli chcesz wersję na 3,3 V...
Witam wszystkich:) Postanowiłem ostatnio pobawić się trochę mikroprocesorami. W tym celu kupiłem Atmel ATMEGA8L-8PI i zmontowałem, taki prosty układzik jak na rysunku w załączniku: W którym to: Nóżka 8 i 22 procesora jest podłączona do „-” zasilania; Nóżka 20 i 7 procesora jest podłączona do „+” zasilania; Nóżka 1 (Reset) procesora...
Witam Próbuję zaprogramować atmega8. Mam kupiony programator STK200. ISPprog czyta sygnaturę i przynajmniej udaje, że czyta pamięć flash, ale przy próbie zapisania czegoś do flash-a pokazuje od razu błąd ( zapisane coś tam - odczytane co innego ). Próbowałem PonyProg-a ale test programatora kończy się niepowodzeniem a próba zaprogramowania zakończyła...
To już nawet nie chodzi o sam CPU ale dochodzi jeszcze kwestia odczytu z pamięci FLASH... W ARM które generalnie które pracują przy zegarach do kilkuset MHz już przy 48MHz włączane są cykle opóźnienia przy odczycie z flash'a bo nie jest on w stanie prawidło działać przy takiej częstotliwości... Ponieważ nie chciało ci się zaglądnąć do dokumentacji to...
Witam. Postanowiłem rozpocząć naukę programowania uC. Kupiłem programator USBasp wraz z podstawką: zainstalowałem sterowniki, podłączyłem atmegę8 i ustawiłem fuse bity w programie AVR burn o mat według: i wcisnąłem write fuses, wyskoczyło : Fuses successfully written. Po czym jak kliknę read fuses to wszystkie fuse bity w programie ustawiają się na...
Ten program ci kompletnie do niczego. No Ok, ja rozumiem niechęć do polskich programów albo nawet konkretnie do mojego i polską "życzliwość inaczej" - ok, na to się nic nie poradzi, więc nawet nie będę komentował tej wypowiedzi, tym bardziej że za chwilę słyszymy, szok! PonyProg jest fajny i dopóki nie ruszasz fusebitów i nie dokonujesz zapisu to nie...
Ad 2.) Bootloader w uproszczeniu to taki program umieszczony w docelowym mikrokontrolerze który pozwala na zmianę zawartości pamięci flash (wgranie programu) bez konieczności stosowania programatora (na podstawie danych np z karty SD, portu COM, czy innej magistrali). Sprawdza się to doskonale w przypadku Arduino bo kupując gotową płytkę z wgranym bootloaderem...
Witam. Układ zamka na karty chipowe zaprojektowałem i wykonałem w sierpniu 2012r. Było to urządzenie wykonane w jeden dzień wliczając w to wykonanie płytki i napisanie programu. Dlaczego więc postanowiłem to teraz tu opublikować? Projekt przedstawiłem na mojej stronie i miałem dość dużo pytań o program. Jednak w programie na stałe miałem wpisane id...
Docelowo potrzebuje uruchomić bootloader USB na atmedze32 (sprzętowy interfejs USB odpada z uwagi na to że musiał bym użyć xmegi która wymaga innego standardu programowania a to dodatkowe koszty itp. ; odpada też połączenie bootloadera UART z przejściówką FT232RL bo ja tu widzę więcej komplikacji niż zalet) Ponieważ jednak bootloadery tworzone głównie...
Witam! Chciałbym przenieśc mój projekt z napisany w Arduino IDE na mikrokontroler Atmega8. Gdzieś w internecie dowiedziałem się, że wystarczy plik hex wgrać przez programator USBasp dp procka i wszystko będzie działało. Pozdrawiam Tak, możesz to zrobic bez problemu, dokładnie tak jak wyczytałeś. Nie ma znaczenia czym (który compiler) wyprodukował plik...
1) pamięć FLASH można programować w setkach tysięcy razy (min. 100.000, ale w praktyce pewnie więcej) 2) ustwaienia FUSE BITS wprowadzono, aby producent nie musiał robić kilku wersji tego samego kontrolera. dzięki temu sam możesz sobie skonfigurować go wg. uznania. external clock - zewnętzrne źródło zegara, np. generator scalony. external RC osc - zewnętrzny...
Najpierw ładujesz do procka program bootloadera przy pomocy programatora. Wcześniej ustawiasz fuse bity, miedzy innymi określasz obszar bootloadera. Skok do bootloadera ustawisz wedle woli (po naciśnięciu przycisku, po restarcie urządzenia na komendę itp.). Sam program w najprostszej postaci odbiera dane z rs do bufora nr1, po odebraniu jednej strony...
Programuje w Code Vision AVR i szukam przykładu obsługi boot loadera na ATmega8. Jeżeli macie jakieś przykłady modyfikacji pamięci poprzez SPI, UART lub inny to jestem chętny. Do tego mam wątpliwości co do struktury programu. Zamierzam modyfikować w systemie zawartość zadeklarowanych tablic, z których korzysta program główny. I teraz nie wiem czy lepiej...
Witam Pytanie jak często będzie ta pamięć wykorzystywana ? Na początek można polecić albo coś z pamięci typu EEPROM np. 24Cxx lub pamięci Flash np. AT45DB. Noty tych pamięci można znaleźć na stronie www.elenota.pl -- pozdrawiam
Witam! Niedawno zainteresowałem się programowaniem mikrokontrolerów i kupiłem sobie układ ATmega88-20PU. Zamontowałem go na płytce i podłączyłem programator USBasp. Korzystając z AVRstudio i AVRdude'a wgrałem do pamięci flash prosty programik, którego celem było zapalenie diody podłączonej do PB0 i PB1: .nolist .include "m88def.inc" .list...
Drogi kolego. Zadałeś pytanie : czy mój program można przenieść z Atmega8 na Atmega48, prawda ? Otrzymałeś jedyną odpowiedź jaką w takim przypadku mogłeś otrzymać! Nie zamieściłeś kodu... Nie napisałeś czy program używa UART-u, a może 2-ch... Nie napisałeś ile program potrzebuje pamięci na operacje... Nie napisałeś nawet co program robi. Jeżeli twój...
implicit declaration of function 'sprintf' DescriptionResourcePathLocationType incompatible implicit declaration of built-in function 'sprintf'main.c Takie błędy co wypisałem powyżej wywala mi środowisko Eclipse jak chcę używać funkcji sprintf.(a AVR Studio brak błędów)pewnie czegoś brakuje w konfiguracji Eclipse,jak ktoś ma jakiś pomysł to proszę śmiało...
Boberov Unbelievable Boot Loader V0.1 2013 Na wstępie skrócone informacje na temat projektu którego szerszy opis znajduje się w dalszej części tekstu. Program bootloadera przeznaczony jest dla ATMEGA8 (po minimalnych zmianach każdy AVR z wystarczającą ilością pamięci), umożliwia programowanie procesora oraz zainstalowanych w systemie pamięci szeregowych...
Będziesz mógł wgrywać program , możesz potem wgrywać inne, zmieniać itp. Jeśli bootloader wgrał się poprawnie to zrób sobie test wgrywając przykładowy program Blink. Oczywiscie, jeżeli potrafił wgrac bootloader to także będzie można wgrac dowolną ilosc kolejnych programów. Problem wyniknie gdy zechce ‘blinkac’ tym programem. Zamiast blinków...
Nie jestem pewien ale czy Adruino domyślnie nie jest kompilowane dla zegara 16Mhz. Dołóż do At88 kwarc 16 MHz a fuses ustaw tak jak są w Arduino i powinno być OK. Mam założony kwarc 16Mhz , odczytałem z Arduino przez mkAVR ustawienia fuses i ustawiłem je w At88 co spowodowało zablokowanie Atmegi (na szczęście mam ich kilkanaście sztuk a próbą odblokowaniem...
Teraz nie wiem do czego służy opcja Calibration Byte Programming, jak to ustawić? Czy zostawić tak jak jest. Nie ustawiać (disabled). Rozumiem, ze mam zaprogramować flash Wsad (program) idzie do pamięci flash. Polecenie avrdude, które podałeś zapisuje pamięć flash.
Kondensator chyba jest po to żeby szumy "przepuścić" do masy. Montowane urządzenie będzie zasilane bateryjnie więc przez 1k ucieknie mi za dużo prądu. Jutro będę mógł zaprogramować sobie mój procesor więc zapytam o ustawienie fuse bitów. 0-bit zaprogramowany 1-bit niezaprogramowany RSTDISBL 1 - PIN RESET jako RESET (zamiast standardowy pin I/O) WDTON...
1. Nie musisz do ISP robić miejsca na płytce, istnieją specjalne klipsy zapinane na układ. 2. Ten interface do COM z ElmChan nie jest szczytem elektroniki (nie wytwarza prawidłowego poziomu napięć w zakresie mniejszym od 0 dla RS232, więc to jest powodem słabej odporności na zakłócenia), bardziej "elegancko" można to zrobić na MAX232+74HC14+74HC126...
Witam. Ten uC posiada tylko 512 bajtów SRAM. Jest to niestety niezbyt wielka ilość. Najprawdopodobniej wykorzystujesz pamięć w pełni i dlatego program się sypie. Zwróć uwagę na to, że zmienne, tablice i ciągi deklarowane w programie umieszczane są właśnie w pamięci ram, do tego jeszcze skompilowany program używa pamięci jako stosu. Im więcej zagłębień...
Witam Panowie. Chciałem na swoje potrzeby zrobić prosty analizator stanów logicznych. Procek miałby odczytywać stan wejść i wrzucać do bufora a co jakiś czas bufor przerzucać do zewnętrznej pamięci Flash. Problemem jest to, że gdy zajmę procka zapisywaniem do Flash, występujące zmiany stanów mogą mi umknąć. Nie ma być to jakiś mega szybki analizator....
Ale mi chodzi o prędkość odczytu pomiędzy procesorem avr a właśnie tą kartą. To aż taką prędkość da się wyciągnąć Przez SPI? Nieźle :D Problem jest taki, że tablica 640x480 nie ma szans zmieścić się w marnej pamięci procesora A gdzie mieszczą się dane typu const? Wtedy jest przechowywana tylko w pamięci flash czy nadal obciąża ram?? Zastanawiam się,...
Ciekawy układ, zwróćcie jednak uwagę na to co napisał twórca projektu: UWAGA: w schematach jest źle opisany procesor – w trakcie realizacji projektu zmieniłem go na AtMega323 i tylko taki będzie działał poprawnie (poprzednio używany 161/163 miał zbyt małą ilość dostępnej pamięci flash. Płytka mogła być trochę lepiej zaprojektowana, ale jest to...
Witam, mam programator Stk500 i ATmege8. Wpiąłem w podstawkę Atmege i odpaliłem AVR Studio 4 . Atmege8 wykrywa i mogę jej wyczyścić pamięć. Chciałem też coś na nią wgrać więc załadowałem program o rozszerzeniu hex do pamięci Flash, zapis trwał dość długo ok. 1 min i nie wiem czemu aż tak długo po czym po próbie odczytania z Flasha tego co zapisałem...
Witam czy można podmienić atmega8535 na atmega16 lub 32. Chodzi mi jedynie o więcej pamięci, 8KB flashu mi już nie wystarcza. Układ mam już zlutowany. Sprawdzałem już w datasheecie, wyprowadzenia mają tak samo. Czy wystarczy tylko podmienić w programie pliczek regfile na ten atmegi 16/32 i wszystko będzie działać (język bascom)? Pozdrawiam
Witam wszystkich forumowiczów ;] Od razu mówię, że szukałem na forum tego problemu ale się nie doszukałem. To jest mój pierwszy post więc proszę o wyrozumiałość ;] Od niedawna bawię się w programowanie ATmeg. Mam problem podczas zapisu programu do mojej ATmegi8. Piszę program w WinAVR i za pomocą AVRdude wgrywam plik do pamięci FLASH. Kiedyś proces...
Najpierw zastanów się, czy wyszukiwanie komendy jest rzeczywiście krytyczną operacją w Twoim kodzie - może nie ma to znaczenia przy prędkości UARTA? Dr.Vee To fakt, problemem nie jest szybkość,a raczej wielkość kodu, dla zaoszczędzenia pamięci RAM wszystkie komendy umieściłem w pamięci flash i do porównania użyłem funkcji strncmp_P(..). Zastanawiam...
Do Jaca. Zrobiłem jak mi doradziłeś ale efekty miałem takie jak poprzednio. czyli po zaniku zasilania i resecie miałem dalej 100 a nie to co ustawiłem. problem już rozwiązałem w ten sposób, że do czystej Atmegi w grywam $regfile "m8def.dat" $crystal = 800000 Dim Hv As Byte Hv = 100 Writeeeprom Hv , 1 End następnie zmieniam fuse bits odpowiedzialny...
Witam, Proponuje zacząć koledze od uporządkowania nieco programu. Po pierwsze typy zmiennych dlaczego wszędzie są int'y?? Tablica ze znakami dla wysw. 7seg spokojnie starcza bajtowa. To samo tyczy się pojedynczych cyfr (setki, dziesiątki jedności). Po tych zmianach polecam sprawdzić ile kod w pamięci flash. Co do złego wyświetlania to najprawdopodobniej...
No właśnie, skasowana pamięć FLASH ma same FF. Programowanie polega na zmianie jedynek na zera. Stąd też najpierw pamięć trzeba skasować, dopiero potem można zaprogramować (bo inaczej zer na jedynki nie da się zmienić). Dodano po 2 BTW. To ciągle jest tylko jedna operacja zapisu. Więc nie ma co kombinować. Co do twojego pierwszego pytania - SREG to...
Napisać dobrze program? Bez żadnych informacji nt. Twojego programu trudno cokolwiek zgadywać. Tak na oko cały ten kod pisany w C zająłby jakieś 300 bajtów pamięci Flash.
Schemat jest tu: Już problem rozwiązałem - okazało się, że jakimś cudem, po wgraniu softu do procesora, nie została skasowana pamięć Flash. Pomogło, skasowanie pamięci i ponowne wgranie softu. Pozdro
Witam, To moje pierwsze starcie z mikrokontrolerami, wpadł mi w oko program LDmicro, a że programowałem już w drabinie PLC to pomyślałem że będzie to ciekawą zabawą. Ale nawet najprostsza próba mnie przerosła. Otóż moje pytanie brzmi gdzie zrobiłem błąd: 1 Napisałem podstawowy program w LDmicro, skompilowałem i zapisałem w .hex 2 podpiąłem Atmega8 do...
Witam, Piszę sobie program w c na atmega8. "main" ma około 800 linii kodu + używam bibliotek V-USB. Kompilacja WinAVR. Wgrywam go stk500. W momencie gdy program po kompilacji zaczął zajmować więcej niż ok. 75% całej pamięci flash procesora, zaczęły dziać się dziwne rzeczy. Raz program po wgraniu działa, a zaraz po dopisaniu małej zmiany w kodzie już...
Może to ja czegoś nie rozumiem, ale z tego co rozumiem, to kicajbas dał Ci gotową receptę jak to zrobić, bez żadnych wykładników itd. itp. Robisz tablicę, w której masz już wszystko policzone - możesz wykorzystać 512 bajtów pamięci FLASH i to Ci da 256 wartości 16-bitowych. Teraz odczytujesz z ADC wartość 8-bitową, która bezpośrednio będzie adresem...
Witaj. Może przy okazji programowania zmieniłeś fusebity i zablokowałeś mikrokontroler, albo podczas programowania nie kasujesz pamięci FLASH. Doinstaluj AVR Studio 4.18 lub 4.19 i w nim pisz swoje programy - oprócz takich zalet jak automatyczne tworzenie makefile (które często jest przyczyną problemów) dostajesz dodatkowo symulator AVR, a to bardzo...
1. Dlaczego każdy bit przechowujesz na 16 bitach w pamięci RAM (typ int) zamiat trzymać po 8 bitów w jednym bajcie pamięci Flash? 2. Co pisze kompilator o zajętości pamięci RAM? 3. Skróć program min. 20-krotnie, wyrzuć wszystkie switch() i użyj prawdziwej pojedynczej 2- lub3-wymiarowej tablicy do przechowywania obrazów znaków. W ten sposób całe wyświetlanie...
Witam. Mam pewien problem z programem mkavrcalculator i procesorem atmega8, zbudowałem układ z rezonatorem 32738kHz, który po podłączeniu do programatora usbasp działał tzn procesor wykrywało w mkavrcalculator, że jest to atmega8. Nigdy wcześniej za pomocą tego programu nic nie robiłem, zacząłem coś grzebać chciałem wrzucić program .hex wcześniej zmieniłem...
1. skoro zaczynasz, zastanów się nad C: na dole strony masz uzasadnienie wyboru języka, a zawartość bloga przeprowadzi Cię "za rączkę" przez większość zagadnień. 2. Odradzam DHT11 - mam 2 sztuki, różnica wskazań pomiędzy nimi to aż 9%, dynamika wskazań nie nastraja optymistycznie, w wolnej chwili zamówię coś innego. 3. Skoro układ ma być dla kogoś innego...
Nie wiem, czy są tu jakieś kody. Zależy jaki protokół komunikacyjny wymyślił autor tego projektu. Jednak, biorąc pod uwagę daleko idącą prostotę tego rozwiązania, to faktycznie wystarczy zaprogramować właściwie mikrokontrolery. Chodzi o FUSE BITY i zapisanie programu do pamięci FLASH.
Witam Mam następujący problem. Na płytce stykowej mam Atmege8, zasilanie z zewnętrznego zasilacza, wszystkie kondensatory i rezystory podłączone tak jak jest zalecane. Programator Usbasp, Bascom wersja 2.0.7.3. Miałem 2 nowe Atmegi8. Próbowałem wgrać najprostszy możliwy program do migającej diody z przerwami 1s. Komunikacja z procesorem jest prawidłowa...
Projekt elektronicznego obciążenia napisany od zera w środowisku Arduino IDE z zainstalowaną biblioteką MiniCore w C++ z użyciem klas, powinno umożliwić Wam łatwą rozbudowę i dodawanie nowych modułów. Po kilku latach przerwy w elektronicznym hobby postanowiłem wrócić do projektowania. Kupiłem oscyloskop, ale potrzebne mi było jeszcze kilka urządzeń,...
Zaciekawił mnie ten temat. Mam pomysł na algorytm aby zrealizować w miarę skuteczne dekodowanie znaków. Sposób dekodowania z pierwszego postu jest kiepski. Nadawcza musi "wcelować" z długością czasów. W miarę skuteczny program powinien dynamicznie dostosowywać się do tempa nadawania. W tym celu należy zapisywać czasy sygnałów i przerw w tablicy. Po...
Ogolnie mowiac tak. Mozna sciagnac zawartosc calej pamieci flash do pliku *.hex. Mozesz to zrobic programatorem szeregowym np. popularnym stk200/300 z pomoca programu ispprog, dostepnego w internecie. pzdr
Zazwyczaj przed podaniem dyrektywy w asemblerze .db podajesz jeszcze .org 0x0000, która do umieszcza dane pod tym adresem (0x0000). Innymi słowy, wszystkie dane, które zostały zamieszczone po .org 0x0000, są dostępne od adresu 0x0000. Zauważ, że jeśli korzystasz z pamięci flash w uC np. Atmega8 masz tam organizację pamięci 2 bajtową (WORD), a wszystko...
Witam Dręczy mnie jeszcze kilka spraw dotycząca procesorów Atmega serii 8... Wedle dokumentacji, odnosząc się do procesora 168. Jest określone jako by bootloader miał się znajdować w obszarze pamięci 0x1C00-0x1F80 gdzie pamięć procesora jest do 0x3FFF, do tego AVRisp z AVR studio też interpretuje to w fuse bitach. Lecz wgrywając bootloadera w ten obszar...
Procesory AVR są praktycznie kompatybilne w dół,wszystko co jest napisane na AtMega8 uruchomisz na 16 , im wyższy model procesora tym więcej pamięci RAM i Flash,czesto też jest o jeden licznik więcej lub więcej przerwań.
Szczerze mówiąc to układ, a w zasadzie program, do ambitnych nie należy... Mało kto z czytelników pamięta czasy, kiedy takie proste pozytywki robiło się bez użycia mikrokontrolera, a melodie odtwarzane były z pamięci EPROM: -> Natomiast same mikrokontrolery AVR potrafią sporo więcej jeśli chodzi o odtwarzanie melodii zakodowanych w pamięci Flash, oto...
Rafraf: Faktycznie, za 10zł można już 'ogarnąć' jakieś ciekawe urządzenie USB. Szczególnie, że można też wgrać bootloader i w łatwy sposób aktualizować oprogramowanie. A tak z innej beczki chciałbym się zapytać do znawców AVR. Czy jest jakiś sposób (patent :-) ) na rozszerzenie pamięci flash uC? O co mi chodzi, podłączam np. kartę MMC, ładuję tam firmware,...
Witam, ostatnio programowałem procesor atmega8 za pomocą programatora At89ISP z portu LPT. Cały układ dobrze funkcjonował do momentu kiedy zmieniłem programator na SP-100 (USBasp). Po wielugodzinnej przeprawie ze sterownikami (Windows 7 x32) do programatora chyba się udało ;]. Niestety dalej nie mogłem odczytywać/zapisywać do/z pamięci flash atmegi8....
1. W zależności od procka, programowanej pamięci (FLASH, EEPROM) i innych ustawień (Fuse, Lock Bity), sprawdzania poprawności powinieneś wprowadzić odpowiedni ciąg. Zazwyczaj programuje się flasha, więc -U flash:w:{FILE} odnosi się do zapisywanego hex'a. Polecam zapoznanie się z dokumentacją do samego avrdude. Zgromadzono tam listę zdefiniowanych poleceń,...
Jeśli chodzi o niedostatek pamięci FLASH - to może Atmega168 - 16k FLASH, 1k SRAM, 512B EEPROM. Jest dostępna w "wąskim" DIP28, np. w TME.
Działam dalej. Stworzyłem kilka nowych projektów, ale problem zawsze jest ten sam... Opcja verify flash potwierdza ze w procku znalazło się to samo co w pliku hex. Zastanawia mnie rozmiar samego programu. Dosłownie kilka linijek, a plik wynikowy ma 9KB, kompilator informuje że zajmuje on ponad 30% pamięci flash atmegi8 Podczas łączenia z programatorem...
Witam Mam pytanie czy ktoś wie jak zaprogramować pamięci jak w tytule (wykorzystywane jako bios w PC) w trybie FWH? (Firmware Hub) Opisywanym dość dokładnie w karcie katalogowej. Nie chodzi mi o wykorzystanie gotowego programatora gdzie logika sterująca zaszyta jest w programie zarządzającym tylko np. zrobionym na szybko do tego celu urządzeniem. Pokusiłem...
Czy jest możliwe, żeby odczytać pamięć programu flash z uP np. atmega8 lub ATiny? Napisałem program, skompilowałem, wysłałem do uP. Zgubiłem źródło, czy jestem w stanie odczyt tą binarkę programu jaką ma uP w pamięci flash?
dokładnie, jak mówi kolega wyżej. Skoro wgrywasz plik *.hex w którym masz przecież wszystkie zdeklarowane zmienne typu PROGMEM to po kompilacji musisz także wgrać plik *.eep , który zawiera zmienne typu EEPROM Pamiętaj tylko o jednym. Gdy kiedyś w twoim urządzeniu coś się stanie z pamięcią EEPROM, awaria, coś ją skasuje czy inny diabeł to masz w plecy...
Witam. Ostatnio złożyłem z kolegą programator USBasp. Postanowiliśmy, że połączymy nasze siły (on - zamiłowany elektronik i ja - trochę programuje w c++) i nauczymy się wykorzystywać mikrokontrolery. Napisałem program w C. Za pomocą programu Burn-O-Mat wsadziliśmy go na pokład Atmegi8. Wszystko przebiegło pomyślnie. Jednak, gdy chcę odczytać zawartość...
chyba mam problem z programatorem :(, bo zapisałem ten plik diody.rar i nie działało znowu i odczytałem flasha i nie zapisał kilku lini :(. Więc albo coś chyba lipnego jest z programatorem, albo pamięciom flash. [url=]Link (plik linkiem zamieszczam, bo nieudało mi się załącznika dodać :pp)
Witam może mi ktoś wytłumaczyć co jest grane. Złożyłem sobie stk200 (działa) Złożyłem sobie UsbAsp Chciałem go zaprogramować PonyProg2000 Zapodałem najnowszy wsad do pamięci Flash procesora (w sumie 3x sztuk) wszystko ok weryfikacja ok (oczywiście po opcji skalibrowania, wybrania programatora stk200, modelu procesora itp). Gdy tylko zabrałem się za...
Ja tak zawsze w głowę zachodzę - jak można się tak męczyć z tymi operacjami na zmiennych float, jak można marnować hektary pamięci flash na te wszystkie funkcje dtostrf, sprintf , włączanie specjalnych opcji w makefile - na takie mega proste działania do których NIE TRZEBA NAWET JEDNEJ ZMIENNEJ TYPU FLOAT UŻYĆ. Mam nadzieję, że jak podam ci poniżej...
Kolega lubi się niepotrzebnie rozpisywać :). Na przykład cały switch w ADC_meassure (swoją drogą zwykle się pisze przez jedno s ;) ) można zamienić na jedną instrukcję: [syntax=c] ADMUX |= channel & 0b00000111; [/syntax] _delay_ms przyjmuje argumenty aż do 65535, nie ma potrzeby dzielić tego na kawałki po 1000. Z jakiegoś powodu lubi też obfuskować...
W twojej książce znalazłem również zapis równy temu MCUCR |= (1<<SM1) czy jest on równoznaczny z MCUCR = (1<<SM1) czy używa się ich w zależności od czegoś ? :) Mam nadzieję, że po przeczytaniu książki znasz już operatory dwuargumentowe i wiesz co to oznacza |= ??? Ja z przyzwyczajenia wszędzie przy inicjalizacji bitów w rejestrach konfiguracyjnych...
Chce skomunikować swój mikrokontroler Atemga8 z komputerem na którym jest Linux. Na razie to dopiero chce sprawdzić czy to działa, a następnie się nauczyć obsługiwać rs232, więc chce cokolwiek wysłać z avr i odczytać na PC. Jednak otrzymuje nie to co powinienem. Do tego posługuję się: terminalem serial port :arrow: z opisu :arrow: i biblioteki :arrow:...
Witam, Wczoraj złożyłem programator do uC AVR zgodnie ze schematem i opisem ze strony: Doskonale zdawałem sobie sprawę że złożenie będzie łatwiejszą częścią całego przedsięwzięcia i poradzenie sobie z dalszymi problemami pochłonie kilka wieczorów. Próbowałem wielu porad zawartych w różnych tematach na tej i innych stronach(włącznie z wymianą diod Zenera...
No to kolega teraz troszkę hmm jakby zaszalał. W Atmega8 (4ksłowa pamięci Flash) chcesz umieścić plik ważący 7kb i to jeszcze w programie napisanym w Bascomie ??? Oj - oj Może najpierw kolega się zastanowi i poszuka postów przykładów, jak w ogóle odtwarzać pliki Wav w Bascomie tak z karty pamięci, jak w ogóle obsługiwać programowo taką kartę - czyli...
Witam, Jakimś cudem AVRDude z Linuxa zaczął grzebać w FuseBitach. Po ratowaniu Atmega8 okazało się, że zmienił BODLEVEL i ustawił na zewnętrzny kwarc. Udało mi się uratować jedną Atmege. Z drugą powstał wiekszy problem - przy próbie ratowania i zmianie BODLEVEL'a na 2.7 i ustawienie 1 MHz wewnętrznego i nie zauważyłem ale miałem zmienione ustawienia...
Witam. Mam mały problem z ustaleniem prędkości przezkakiwania czy też zliczalnia. A mianowicie mam 2 wyświetlacze 7 seg ( w zasadzie to 8 ale ja kropki nie wykorzystuję) no i programik jest strasznie prosty. Dopiero wchodzę w programowanie. Program jest oparty na książce p. P.Borkowskiego który raczej na tym forum też jest ;] [syntax=asm];;; l8 ;;;...
Witam, mam układ sterowania halogenami, którym kieruje atmega. Wszystko zasilane jest z trafo dla halogenów. W układ wpięte jest złącze ISP do programowania. Odczyt pamięci, fusebitów, sygnatury, itp. zawsze przebiega pomyślnie. Problem pojawia się podczas programowania układu. Udaję się to raz na mniej więcej 10 prób. Przy braku sukcesu pojawia się...
Witam. Czytałem, że jest możliwe deklarowanie zmiennych w pamięci programu - FLASH mikrokontrolera i późniejsza ich modyfikacja przez sam procesor. Czy jest to możliwe w środowisku BASCOM, i jaką ilość pamięci FLASH można na zmienne przeznaczyć?
skoro sam złożyłeś programator to znaczy że sam sobie zrobiłeś KUKU i wgrałeś przestarzały wsad do procka. Ja nigdy nie rozumiem co kieruje ludźmi żeby wgrywać stary wsad :( ... I nie pisz, że jakiś tam nowy wsad się nie zmieści do procka ATmega8 - bo po prostu nie rozumiesz co to jest plik HEX, a wystarczy sobie tu zajrzeć żeby zrozumieć o co chodzi...
W drawBitmap zastąp zwykłe odwołania do pikseli wywołaniami funkcji prog_read_word. Przykłady znajdziesz w wielu miejscach. To nie ma nic wspólnego z typem wyświetlacza - chodzi o dostęp do pamięci Flash AVR.
Witam, Mam 5 bajtową tablicę i muszę ją zamienić na wartość dziesiętną w formie tablicy gdzie każdy element to jedna liczba. I tu się zaczynają schody, przerobienie z uint8_t arr[5] na uint64 jest proste i bezbolesne. Ale zamiana uint64 na dziesiętną wartość w tablicy z pojedynczymi liczbami zajmuje ponad 7kb flash'a.... Docelowo chcę użyć m8 i już...
No napisałem właśnie, że użyję Atmega8L, ale nie mogę kupić u siebie (wyprowadzenia pinów me takie same chyba jak zwykła Atmega8), jak czytałem o zasilaniu to napisano, że przy zbyt małym napięciu procesor może działać niepoprawnie, albo nawet się uszkodzić, dlatego warto dac stabilizator, który przy zbyt małym napięciu baterii poprostu odłączy zasilanie,...
Zwyczajnie, mając podpięty rezonator kwarcowy (w tym momencie nie musi byc 16 MHz), kasujesz całą zawartośc pamięci flash (program razem z bootloaderem); wymaga ponownego wpisania programu, oraz zmienasz wyżej wspomniany fusebit BOOTRST na ' niezaprogramowany ' wartośc 1 co spowoduje że po Reset, start programu będzie od adresu poczatku applikacji...
Witam, Do komunikacji z DHT11 używam od zawsze kodu Program Memory Usage :7712 bytes 94,1 % Full Data Memory Usage :127 bytes 12,4 % Full EEPROM Memory Usage :478 bytes 93,4 % Full EEprom i częściowo flash są zapełnione stringami używanymi w komunikacji z userem przez USART. Ponieważ nic sensownego nie przychodzi mi do głowy, zastanawiam...
Rezultaty bez zmian niestety. Próbowałem jeszcze na ATMEDZE 644 i efekt ten sam. Mogę spróbować jeszcze na: ATMEGA8 ATMEGA32 ATMEGA328P Ale ATMEGI328P muszę przeprogramować wysokonapięciowo (czekam na DRAGONA) ponieważ przekalibrowałem im zegar i chodzą tak wolno, że żadnym programatorem poprzez ISP nie mogę się do nich dobrać :) Dzisiaj spróbuję na...
Witam. Przedstawiam projekt konsoli do gier na bazie uC atmega8 i wyświetlacza z nokii 3310. Zanim zebrałem się za zaprezentowanie mojej konstrukcji w dziale DIY, konsola przeleżała nieużywana w szafie około rok. Konstrukcja powstała dla własnej satysfakcji i nie jest już rozwijana. Na konsole powstały dwie gry: Pierwsza gra to zwykły Snake. Druga...
W wyniku kompilacji Twojego programu powinny powstać dwa obrazy pamięci. Jeden dla pamięci flash mikrokontrolera - zawiera on kod programu. Drugi dla pamięci eeprom mikrokontrolera - zawiera zawartość pamięci eeprom - w tym wypadku jest to liczba 3. Programowanie pamięci eeprom to po prostu wgranie tego wsadu. Z jakiego środowiska korzystasz? Np. w...
tak samo jak wgrywasz flash z programem możesz wgrać zawartość pamięci eeprom pomiń tylko komórkę z adresem 0h bo bywa że się przypadkiem zapisze przy starcie układu reszta do twojej dyspozycji ;) w zakładce programatora memories masz w górnej linijce ścieżkę do wyboru pamięci flash a w kolejnej ścieżce wpisujesz ścieżkę do pliku z zawartością eeprom...
Wyrzucenie makr nic nie daje, a czytelność kodu to kwestia gustu także nie będę o niej dyskutował. Problem został rozwiązany. Przyczyna: brak #include <avr/interrupt.h>w pliku adc.c - trywialny błąd. Dlatego makro ISR() nie było poprawnie rozwijane. Naprowadził mnie na to fakt ze przy programowaniu oboma wersjami programu zmieniają się w pamięci...
Wszystko zależy od tego jaka jakość i długość komunikatów. Jeśli zależy Ci na małych rozmiarach to niektóre zmieścisz we flash, niektóre w zewnętrznym układziku flash w obudowie SO8, a czasem wystarczy zewnętrzna pamięć 24C515 jak w tym moim projekcie atrapy bomby :D
"sbi DDRC,0" 1. Ponieważ jest tam ".org 0" to znaczy że rejestr "Program Counter" jest wyzerowany. 2. z niego wychodzi 16bitów adresu do pamięci Flash 3. z pamięci Flash wychodzi 16bitów instrukcji: 4. opcode SBI ma taką strukturę: 1001 1010 AAAA Abbb (AAAAA 5bitowy (0..31) adres rejestru IO, bbb - adres bitu w rejestrze do zapalenia (0..7) 5. DDRC...
Po zwarciu mikrokontrolera wyczyściło mi pamięć FLASH i EEPROM. Prawdopodobnie w pamięcii eeprom są zapisane właśnie różne bity mikrokontrolera, a skoro mam obie pamięci czyste to może dla tego procek nie jest wykrywany?. Bardzo prosze o jakieś sugestie
Witam. Posiadam Atmege8-16PI z tego co się orientuje to ma ona 8KB pamięci FLASH więc jak to możliwe, że wgrałem do niej plik *.hex o rozmiarze 8,95 KB (bajtów: 9 173). W dodatku programik ten działa prawidłowo. Czy wszystkie Atmegi8 tak mają czy tylko moja jest jakaś inna?? Pozdrawiam
Witam! zakupiłem zestaw ZL2AVR ,zainstalowałem Bascom-a AVR i rozpocząłem zabawę w programowanie mK....a w zasadzie chciałem rozpocząć, bo już przy najprostszym przykładzie z książki Marcina Wiązani pojawił sie problem. Chcąc przeprowadzić symulację hardware-ową ,zapisałem do pamięci flash mK program monitora, który ma komunikowac się z symulatorem...
One mają trochę różnic. M.in. różnią się pamięcią Flash, EEPROM, SRAM czy ilością zewnętrznych przerwań. Szczegółów szukaj w dokumentacjach producenta. Raczej mało prawdopodobne że będziesz mógł bez przeszkód zamienić te dwa µC.
Bardzo dziękuje za pomoc po dodaniu return'a działa wyśmienicie. Następnym programem pewnie będzie obsługa wyświetlacza. Pisze w c++ także z tym też powinienem sobie poradzić. Jeszcze raz dziękuje i pozdrawiam. pio_05 ps. Ta biblioteka z delay zjadła mi pół pamięci flash:)
czy przed zapisaniem nowego programu kasujesz całą pamięć Flash i spróbuj w innym programie programować, ja używam ISP Programmer 1.2.0.46 Adama Dybkowskiego i ani razu nie miałem błędu na jakieś 1200 programowań.
(at)AlphaX chodzi mi o to: Jak widać w załączonym obrazku linia WS jest przesunięta względem danych o 1 bit. W rezultacie (nie wiem czy to jest jedyna przyczyna) dźwięk jaki uzyskuję jest tak zniekształcony że słychać jeden wielki szum. Zastanawiam się jak to zrobiłeś że Tobie działa. Na tym obrazku widać też że najpierw wysyła się mniej znaczący bajt...
Sam wyświetlacz pobiera 20mA. Stabilizator napięcia L7805 5mA! w pszuszłości zastosuje inny Tymczaem poprawiłem oprogramowanie i zoptymalizowałem kod. Częstotliwość próbkowania zwiększyła się do 50kHz ! przy rozdzielczości 8 bit (można wyciągnoąć jeszcze więcej ale nie jest to konieczne) Obecnie mam zjęte 40% pamięci Flash procesora więc moge ulepszać...
Jeżeli masz problemy z itoa (dziwne bo nie jest to zbyt trudne do użycia) :) To może po prostu zrób sobie tablice znaków ascii w pamięci flash procka :) Wówczas odpowiedniej komórce (jej adresowi) będzie odpowiadał konkretny znak i po problemie :)
Witam, Jestem w fazie projektowania prostej stacji meteo. Projekt podzieliłem sobie na 2 części. Pierwsza część wykonuje pomiary (temperatura otoczenia, prędkość i kierunek wiatru) i zapisuje je na karcie SDC/MMC. Druga część wyświetla pomiary na wyświetlaczu LCD i umożliwia komunikację z PC przez RS-232. Obie część będą znajdowały się w odległości...
Może zamiast czytać z karty stwórz sobie dużą tablicę (kilka sekund dźwięku) w pamięci flash i zobacz czy czytając z niej dane będzie dobrze słychać.
zastanów się też nad użyciem fusa EESAVE, który blokuje czyszczenie eepromu podczas kasowania pamięci flash, przydatne :)
pmw -> równie dobrze możesz tego HEXa wgrać programem mkAvrCalculator, wtedy unikniesz jakiejś znowu pomyłki przy wpisywaniu z linii komend w konsoli. Wystarczy wejść w jego zakładkę "Programator" i tam masz wszystko do zapisu do pamięci FLASH albo EEPROM czy Fusebitów i Lockbitów albo do odczytu, wg życzenia ;)
tu nie było skomplikowanych operacji, po prostu działało, a po kilku próbach zmiany portów wyjściowych przestało - jestem na samym początku jeśli chodzi o mikrokontrolery. Pierwszy program (bascom) : $regfile "m8def.dat" config PORTB = &B00000011 PORTB = &B00000001 Do Loop //* tutaj dioda świeciła, wszystko było ok - pierwszy raz programowane poprzez...
Zmień uc na ten z większą ilością pamięci flash (różnica w cenie bardzo mała). Takie rozwiązanie jest bardziej "eleganckie" od stosowania jeszcze jednego procesora. To tylko moja opinia.
Witam. Na początku chcę ostudzić tych którzy widząc tytuł GAME-PAD napalili się, że zobaczą jakieś super urządzenie go gier :) Nazwa jest trochę na wyrost ale nie bardzo wiedziałem jak to nazwać :P Projekt powstał w wolnych chwilach w ciągi kilku ostatnich dni. Wykonałem go celem poćwiczenia obsługi wyświetlacza od nokii 3310, nie bawiłem się jeszcze...
Cóż, z tego co zdziałaliśmy z Kolegą na e-mailu to efekty takie: Poprzez avrstudio 4.18: 1. wgrywa się pamięć flash 2. można odczytać fusebity zapisane w procesorze Resztę wszystko już Kolega opisał w temacie...
Witam. Postanowiłem zbudować kolejny gamepad na mikrokontrolerze atmega, tym razem miałby on posiadać 10 przycisków. Ze strony pobrałem więc kod źródłowy 8 przyciskowego gamepada i zacząłem go przerabiać po swojemu. Najważniejsze zmiany jakich dokonałem to W pliku Twelve.c: Dodałem jeden bajt danych do tablicy przechowującej binarne wartości przycisków...
Witam nie wiem jak rozwiazac problem z wyswietlaczem 7 segmentowym 4 cyfry a mianowicie wszystko bylo proste jak katody wyswietlacza byly podłączone do całęga portu wtedy stosowalem [syntax=c]PORTC = pgm_read_byte( &cyfry[cy1] );[/syntax] ale niestety w tym układzie co złożyłem pinologia jest następująca segmenty: A -> PORTD3 B -> PORTD1 C...
Po próbach okazało się że ATmega jednak nie jest zablokowana tylko był problem z przesyłaniem programu przez programator do pamięci flash. Było to spowodowane jakimś problemem po zmianie fuse bitów tak żeby uwzględnić zewnętrzny kwarc 8MHz. Na wewnętrznym 1MHz wszystko działała elegancko. Co może być przyczyną wystąpienia takiego problemu po zmianie...
Zdecydowanie zgadzam się ze zdaniem że w ATmega8 czy ATmega8A nie ma co inwestować nawet gdyby kosztowało to grosze - bo już kupisz starocia. Zajrzyj sobie za to w notę PDF procka ATmega88 - szybko zobaczysz - że masz bliźniacze wyprowadzeniami i peryferiami ATmega168 i ATmega328, które później możesz sobie w razie czego włożyć wprost do układu zamiast...
Dostęp do pamięci flash w "atmegach" kart i serwera jest niemożliwy. Nie znajdziesz tez w sieci całej zawartości programu. Popraw lutowanie atmegi, a jeśli to nie pomorze trzeba oddać kartę na serwis.
cala zabawa polega na tym aby samemu pisac biblioteki, a nie uzywac gotowcow. Pozwolę się nie zgodzić z tym stwierdzeniem. Gdybym ja (przykładowo) pisząc aplikację tworzył wszystko od zera - nie zarobił bym ani centa. Jako przykład podam projekt, którym się obecnie zajmuję (RF/SimpleMac) z bibliotekami ST dla STM32W108. Po co mam tracić czas na pisanie...
Załadowałem wsad i działa.Mam jeszcze pytanie co do fuse bitach bo jak bedę ściągał jakiś wsad z internetu to skąd będe wiedział że nie ma ustawionych źle fuse bity? Wsad to wyłącznie program do wgrania do pamięci flash! Fuse bity/Lock bity/EEPROM programuje się osobno, więc jeśli wgrywasz tylko flash to nie powinieneś się obawiać o fuse bity! Mam...
1. Kompilator sam zadba o to, żeby w pliku wynikowym nie znalazły się nieużywane zmienne, nie trzeba nic kombinować poza upewnieniem się, że jest włączona optymalizacja. 2. Optymalny to tutaj raczej złe słowo, nie powinno być różnic. Za to druga opcja powinna być wygodniejsza do używania w kodzie. 3. "Najprostszy" sposób to kompresja danych. Przy czym...
Dziękuje za odpowiedzi, już wiem, gdzie leży problem. Zainstalowałem dzisiaj AVR-DUDE i okazało się, że dostałem uwalony procek. Bascom AVR programował wszystko i nie wyrzucał błędu, a AVR DUDE wyrzuca błąd przy weryfikacji. Uszkodzona jest pamięć FLASH pod adresem 0D40, bo nonstop przy tej komórce się pluje. Po zaprogramowaniu w BASCOMIE (weryfikacja...
Wszystko zależy jak długo była pod te 10V podłączona, jak krótko, to możliwe że jest ok, jak długo to pewnie jest usmażona. Popularna diagnoza to test termiczny, atmega podczas normalnej pracy (jeżeli nie zasilasz nią 10 led'ów po 20mA) nie powinna być nawet ciepła. Jeżeli jest gorąca lub parząca, jest uwalona. W dużej mierze tyczy się to wielu układów...
1) Czy w ustawieniach projektu w "Symbols" zostawiłeś DEBUG? 2) Czy "G:" jest partycją na dysku czy np. pamięcią flash (pendrive)? Ewidentnie jest problem ze ścieżką do pliku .hex.
Witam, Potrzebuję zrobić sobie menu do sterownika silnika DC, aby było to menu łatwe do przenoszenia i edytowania między projektami postanowiłem je zrobić na strukturach. Tu pojawia się problem i od 3 dni nie mogę wpaść na to co źle robię. Oto wycinki kodu aby ułatwić zobrazowanie problemu: plik Menu.h [syntax=c] #ifndef MENU_H_ #define MENU_H_ #include...
No i przedobrzyłem Dokonałem optymalizacji kodu, oszczędzając kilkanaście procent pamięci FLASH, ale... sygnał z pilota NEC ( takie małe płaskie na baterie pastylkową ) przestał być odbierany - brak jakiejkolwiek reakcji na naciśnięcie przycisku w pilocie. Poniżej kod: Print Command w przerwaniu Infrared , żeby sprawdzić, czy coś odbiera - reakcji brak,...
Trzeba zrobić to co sugeruje kompilator - tam gdzie jest __flash dać const, czyli np. napisać const uint8_t __flash font6x8. const jest w nowym kompilatorze wymagane dla stałych umieszczonych w pamięci FLASH mikrokontrolera.
A na przykład gdybym chciał wgrać bootloader z obsługą USB to za pomocą takiego programatora było by to możliwe. Każdym programatorem (jeżeli jest sprawny i poprawnie skonfigurowany soft do jego obsługi na przykład AvrDUDE) możesz ‘wgrac’ odpowiedni bootloader. Bootloader to też program dla processora jak każdy inny. Różnica polega na innym...
błąd jaki pojawia się w konsoli informuje że avrdude nie wykrywa programatora, ponieważ na liście programatorów nie ma do wyboru programatora kamprog Dodano po 17 wgrałem plik .hex w pamięć flash
OK, a czy ma znaczenie format pliku który przesyłany jest do pamięci flash i eeprom uC, czy uC jest w stanie rozpoznac i zrozumieć niezaleznie czy jest to format hex, bin, motorola, dziesiętny etc?
Zrób sobie detektor kodów. Użyj dobrej biblioteki: Implementacja jest bardzo prosta. Od czasu gdy zacząłem stosować to już się nie bawię wpisanie tego od podstaw. Brzmi fajnie, tylko boję się czy nie spuchnie mi kod. Aktualnie mam 75% zapełnienia pamięci flash (wiadomości tekstowe i tak już są przerzucone do wew. eeproma także nie za bardzo jest z...
Slow sck ustawiam na 16 mhz? i rodzaj pamięci ustawiam flash i fuse bity?
Chce zaprogramować atmega8-16pu za pomocą tego programatora: Tylko nie wiem jakiego użyć programu, jak do skonfigurować no i w jaką pamięć wrzuca się program (eeprom czy flash?) Potrzebuję szybkiej pomocy... ratunku! Proszę nie stosować ozdobników w temacie
Odbiornik jest dalszą częścią projektu „odbiornika o zakresie 4xxMHz ze stabilizacją PLL". Urządzenie posiada następujące parametry: Zakres częstotliwości: 399-469MHz Czułość: 0,6µV Krok zmiany częstotliwości: 5; 25kHz Pobór prądu ze źródła 4,5V: 35mA Na wyświetlaczu pojawia się informacja o aktualnej częstotliwości, kroku przestrajania,...
trochę mnie kolega zaskoczył tym grami video co nie zmienia faktu że w dalszym ciągu uważam że to swoista egzotyka :) Choćby z racji wgrywania gier bo tyle tam nowych gier co pamięci Flash a druga sprawa że wszystkie trzeba pisać od nowa a jedyna wspólna cecha to ew. pożyczona nazwa. Co do SDRAM to jeśli kolega będzie się upierał przy niej dalej to...
Szukałem, ale nie znalazłem jednoznacznej odpowiedzi. Chcę jedynie rozszerzyć flash mojej ATMEGA8-16PU o kartę pamięci. Posiadam µSD->SD 512MB, ale mogę znaleźć mniejszą. Pytam czy można rozszerzyć pamięć bez ingerencji programowej tzn. jedynie poprzez odpowiednie podłączenie(ew. dołączenie jakiejś biblioteki do programu) Karta będzie służyła jedynie...
Dziękuję za szybką odpowiedź! Funkcja itoa spełnia swoje zadanie. Poprawiony kod: [syntax=c]/* * ADC_Test.c * * Created: 2013-03-29 20:01:28 * Author: Defozo */ #define F_CPU 8000000UL #define FOSC 8000000UL// Clock Speed #define BAUD 19200 #define MYUBRR ( FOSC + BAUD * 8UL ) / (16UL * BAUD) -1 #include <avr/io.h> #include <util/delay.h>...
jak podłączyć zewn. pamięć do mikrokontrolera Jaką pamięć? RAM, Flash, EEPROM, ROM, EPROM, kartę SD? Jaki interfejs - równoległy/szeregowy (I2C, SPI, ...)? EEPROM atmegi8 ma ograniczoną liczbę zapisów i kasowań. Nie wiem jak to jest we Flashu. Podobnie. Wszystko jest pięknie napisane w Datasheet. Zajrzyj do niego. czy mógłby ktoś podać mi jakieś linki...
Atmega8 ma 4096 words = 8192B pamięci flash.
Hej! Czy ktoś może wie jakie są istotne różnice (jeśli są) pomiędzy atmega 128, a atmega 8535 w kontekście dołączenia zewnętrznej pamięci flash TC58128−AFT. Tzn. znalazłem fajny opis podłączenia flasha w EP 11/2003 i jestem ciekaw czy można go tak wprost zaadoptować podmieniając 8535 na 128. Na razie wydaje mi się że tak…jak sądzicie? pozdrawiam...
Dziękuję za pomoc, jednak mam dość "prostsze" pytanie. Otóż kupiłem sobie programator () oraz układ ATmega8 16PI. Ściągnąłem oraz zainstalowałem najnowszą wersję Bascoma. Napisałem program, który zapalałby diodę podłączoną pod PB.1. Program się kompiluje bez problemu, te jednak zaczynają się przy programowaniu. Otóż aplikacja do programowania mikrokontrolera...
witam, piszę programik który "puchnie" bardzo szybko i po wnikliwej analizie zauważyłem że zdefiniowanie 4 znaków przy pomocy polecenia DEFLCDCHAR zjada około 350 bajtów FLASH. Pytanie czy da się zapisać te znaczki do pamięci EEPROM i odczytywać znaczki z tej pamięci. Pozdrawiam
Właśnie moja nauka zatrzymała się na wyświetlaczu LCD. Mruganie diodami już za mną. Dlatego proszę o pomoc:) Skonfigurowałem dwie biblioteki. Dodałem jako załącznik. Jeśli ktoś może to bardzo proszę o sprawdzenie. Pierwsza to biblioteka ze strony Wygląda tak: Pkik HD44780.h //--------------------------------------...
Chciałbym jeszcze sprostować wypowiedź Mirka, zauważmy że programator automatycznie wykonuje komendę chip erase przed każdym zapisem flasha. Gdy wymusimy zapis bez niej, to lockbity się nie wykasują, a pamięć zostanie nadpisana (będzie w niej bałagan zamiast programu).
Moim zdaniem zdecydowanie lepiej, niesądzisz? Przede wszystkim zysk jest taki, że multipleksowanie robi się "samo" i w main sobie piszesz co chcesz. Popracuj jeszcze nad jedną kwestią, która zmniejsza czytelność kodu - zasięg zmiennych. Zastanów się, które zmienne naprawdę muszą być globalne, a które nie. Te, które nie muszą zrób jako zmienne lokalne....
Jeśli chodzi o to co wgrać do mikroprocesora to zazwyczaj jest to plik z końcówką .hex. Ale zdarza się że kompilatory tworzą plik z końcówką .bin, a wtedy można już wybrać samemu bo są zazwyczaj to te same pliki tylko innym sposobem zapisane. Ale z .bin spotkałem się raczej w kompilatorach dla 8051. Także jak wrzucisz plik "flash.hex" do pamięci procesora...
Teraz potrzebuje jakiegoś w miare normalnego uC, który by obsłużył cc1000(6 pinów), kartę MMC i miał jakąś szyne cyfrową do innego słabszego uC, był w miare tani i niezawodny AVry ATMega masz praktycznie w cenie piasku. Co do modelu, to kwestia wielkości programu i innych potrzeb (ja bym zaczynał od dołu ATMega8, ATMega16, aż do spełnienia warunków)....
McRancor, powiedz lepiej ile wynosi w jednym i w drugim rozmiar strony we Flash ? Ten sam algorytm ? Popełniłeś kiedyś coś do ładowania pamięci obu mikrokontrolerów ? ;)
Co do pamięci to np taka [url=]AT25F2048N Będziesz musiał wziąść dwie bo to jest 256K, ale wydaje mi się że to nie powinien być większy problem. Jak jest to poszukaj czegos co się zaczyna od AT25F ale ma 512K*8. Ona jest odczytywana po SPI, a przykład podłaczenia masz w pdfie. Wszytko zależy od tego jak szybko dane muszą byc podawane na DAC. Bo jeśli...
Witam Mój kod nie miał być idealny, chodziło mi tylko o to by Ci pokazać na przykładzie ideę z użyciem Int() :) Co do Twojego pytania: ROMSIZE : 2000 hex Całkowity rozmiar pamięci programu w formacie szesnastkowym (2000 hex = 8192 dec, czyli Twój kontroler ma 8192 bajty na program). ROMIMAGE : 7E6 hex -> Will fit into ROM Twój program zajmuje 7E6 bajtów...
W mojej nocie katalogowej jest to na stronie 287. W każdej jest inaczej :). W mojej nocie nie ma ...PU ale w nowej jest. ...PU to wersja bezołowiowa. W starszych notach tego nie będzie. Unia Europejska tego chce. Teraz już wiem co oznaczają te końcówki. Dzięki za pomoc. Odnośnie tematu, Zauważyłem że programy które zajmują mało pamięci flash zapisują...
Jak w C albo Assemblerze [AVR Studio] zrobić, żeby we flashu znajdowaly się zmienne z zapisem np. napisów do LCD. Chodzi o to, że mam dużo napisów, informacji, ale potrzebuję też trochę RAM do obliczeń. Standardowe deklaracje umieszczają mi zmienne w pamięci SRAM, a chciałbym żeby "głupie" napisy znajdowały się we flash i stamtąd były pobierane w odpowiedniej...
Witam. cyt: ...Po czyszczeniu pamięci program ISP PRogrammer pisze: Device Erase - czyli wszystko powinno być OK... No to po czyszczeniu wczytaj do bufora zawartość flasha i sprawdź, czy są w nim same FF-y. Potem zaprogramuj flasha i zobacz jak Ci się zaprogramował - czy przypadkiem nie masz przesuniętych danych we flashu. Kiedyś coś takiego mi się...
czasem problemem okazuje się niestała stała - tablice stałych można przypuszczać, że będą tylko w pamięci flash - przeważnie okazuje się, że kompilator owszem zapisuje sobie tablicę w pamięci flash, ale z początku programu kopiuje sobie ją do ramu - w ten sposób można się odwoływać do komórek takiej tablicy jak do zwykłej pamięci ram (przestrzeń). Może...
Chyba miałeś na myśli _BV( i ). jeśli tak, to po mojemu to by było jakoś tak (zakładając zgodność kolejności bitów): uint8_t mask = (_BV(5) - 1); /* 0x1f */ PORTD = (PORTD & ~mask) | (cyfry[z][y] & mask); /* skopiuj 5 najmłodszych bitów cyfry[z][y] do PORTD */ :| Nic z tego nie...
Dokładnie, jak kolega wyżej mówi, pobrac go można stąd: , i jak masz go pobranego to konfigurujemy! a więc musimy: uruchomić ten program, wziąć zakładkę Options, następnie Compiler i wybrać chip m8def.dat dla ATmegi8, dalej bierzemy na górze w tym oknie Options wybieramy Output i dodajemy Optimize code, stąd tyle, LCD pewnie nieużywasz w tym momęcie...
Z K_o_n_r_a_d mogę się zgodzić. Hex który ostatnio wygenerowałem zajmował 7k z groszem po wrzuceniu na programik hex2bin bin zajmował 2k albo 3k z groszem, nie pamiętam już. A przy zrzucaniu z uC zapewne zrzucana jest cała pamięć. -- dopiska -- żeby nie było pisząc wygenerowałem - w sensie skompilowałem projekt i kompilator mi go wygenerował ;)
Witam Jaką pamięć zewnętrzną zastosować dla mikrokontrolera (Atmega8 lub Atmega 644)? wymagania mam takie: - szybki zapis - 1 bajt co 10 us (100kHz) lub 1000 bajtów co 10 ms - pojemność minimum 16kB im więcej tym lepiej - rozsądna cena -pamięć może być ulotna co wybrac? -EEProm (chyba zbyt powolny) -FRam -flash -sd/mmc -zewnętrzny SRAM (jak sie podłącza...
poczytaj sobie o strukturze wewnętrznej AVRków - jak są adresowane i jakie są możliwości dostępu czy to do pamięci EEPROM, RAM oraz FLASH - to dowiesz dlaczego nie można użyć zewnętrznego EPROMA o którym piszesz jako rodzaju zewnętrznej pamięci programu bo o to zapewne ci chodzi. To jest całkowicie bez sensu - jeśli potrzebujesz więcej pamięci programu...