1. Odczyt z EEPROM jest nieco wolniejszy niż z SRAM. 2. Ogólnie podczas odczytu wartość nie powinna się zmieniać, ale znany jest ogólny problem z pamięciami EEPROM, mianowicie czasem (np. poprzez zakłócenia w zasilaniu podczas startu a ze źle ustawionym BOD, czy inne tego typu sprawy "niecyfrowe") wartość może się zmieniać. 3. Sposób jest na to prosty...
Trochę dziwna ta deklaracja: Ja __attribute__((progmem)) używam raczej po nazwie zmiennej: sizeof tablicy dosyć rozbudowanych struktur (menu) umieszczonej w pamięci FLASH działa prawidłowo. Czyli konkretnie jakie wartości zwracają?
attiny2313? Posiada wbudowaną pamięć EEPROM. Tani.
AVRDUDE obsługuje pliki bin. A jak koniecznie chcesz hex, to użyj jednego z wielu programów typu bintohex. Np tutaj: https://www.keil.com/download/docs/113.a...
Zauwzyłem, żę kiedy traktuję atmegę zakłoceniami emc potrafi o ona zacząć wykonywać inny fragment kodu (bascom), 1. AVR-y nadają się słabo lub nie nadają w ogóle do pracy w takich warunkach. Proponuję użyć PIC-a. Jest odporniejszy niż ARV lub poszukać przemysłowego kontrolera. 2. Bascom - nie nadaje się do pracy w warunkach gdzie wymagana jest odporność....
Dobra już mam tego doka :) A te wyświetlacze będziesz multipleksował ? Ile ich będziesz podłączał ? One mają wspólne katody, anody ?
Wg. mnie "przepychanie" całych ekranów z procka do LCD nawet kiedy ma on swój kontroler to pomyłka. Łatwo to policzyć ile czasu zajmie taki transfer. Przy okazji mojej "zabawy" z SED-em od kasy fiskalnej z allegro przy zwykłym czarno białym LCD ta pseudo-animacja była warta funta kłaków.Zatem może się mylę ale trzeba zaprząc tu procka którego przestrzeń...
Witam. Czy jest jakiś program do programowania zewnętrznej pamięci procków Atmega 128? Mam pamięć 24c256 podłączoną do Atmegi (PD0 i PD3)i nie mogę znaleźć żadnego programu z loaderem, żeby przez Atmegę zaprogramować tą pamięc. Dzięki za ewentualną odpowiedź. Pozdrawiam.
Zauważyłem iż w Bascomie nie ma czegoś takiego jak funkcje i nie wiem czy istnieje coś w stylu zmiennej lokalnej. Przez 8 miesięcy helpa w dodatku w j. polskim nie przeczytać? Hmm... Przeznaczenie: Rozpoczyna treść funkcji użytkownika. Składnia: FUNCTION nazwa [ ( parametr AS typ [, parametr AS typ] ) ] AS typ_rezultatu instrukcje...
Może tu cos poczytasz http://free.of.pl/a/audik/page9.html i tu http://faq.dvb-board-pl.com/index.php?id...
Będą.
piszę program pod atmega 8 w bascom i stosunkowo szybko zapełnia mi sie pamięć, czy istnieją gdzieś informacje ile pamięci kosztują poszczególne rozkazy bascom? Ewentualnie możecie podać jakie komendy sa bardzo pamięciożerne i należy się ich wystrzegać?
Nie uzyskalem odpowiedzi czy musi byc ten ukladzik 74HC244?? Nie musi, ale jest wskazany. Kiedyś miałem, teraz go nie mam i też działa. Jak sie dowiedziec czy uklad jest zabezpieczony przed nadpisaniem, skasowaniem czy cos w tym rodzaju i jak to usunac. Sygnature układu powinno odczytywać bez względu na zabezpieczenia. Objawem blokady przed odczytem...
Jest jednak podstawowy problem - czy jest jakieś niedrogie lub darmowe oprogramowanie umożliwiające taki podgląd. Od strony sprzętowej mam interfejs USB Blaster rev. C - działało mi to z TOPJtag ( http://www.topjtag.com/ ). Możesz użyć narzędzi typu Atmel ICE lub Snap w połączeniu z Atmel Studio. Wtedy robisz attach to target i możesz sobie wygodnie...
Czyli to jest zwykly buffor? Program ktory stworzylem i jest w postaci *.hex ladowany jest tylko do uP a po odpaleniu programu dopiero dane urzyte laduja cie do SRAMU? Co to znaczy bufor? Kolega pisał o buforowaniu danych, a nie o wciąganiu programu do tej pamięci. Pamięć zewnętrzna w procesorach ATMEGA jest wyłącznie pamięcią danych i jest przedłużeniem...
1. Dlaczego VGA, a nie np. LCD/TFT we właściwej rozdzielczości z kontrolerem? 2. Dlaczego Atmega1284, a nie bardziej zaawansowany uC z DMA? 3. Dlaczego wewnętrzny RAM, a nie zewnętrzny SDRAM? Jeżeli jednak musi być to VGA, Atmega 1284 i wbudowany RAM, to da się to zrobić szybciej, ale niewiele, ponieważ pobranie danych z pamięci i wyplucie ich na port...
Zamiast wstawiać argument do delaya umieść delaya w pętli for ze stałym argumentem. Zmienna zawsze znajdują się w SRAM. Ale stałe można umieścić w pamięci programu.
Są jakieś uniwersalne sposoby jak optymalizować programy, albo w jakiś inny sposób zaoszczędzić trochę miejsca? Jeżeli faktycznie program jest napisany w C++ (jak sugeruje tytuł wątku), to jest 1000 i jeden sposobów na jego optymalizację pod kątem rozmiaru kodu wynikowego ;) Niestety bez wglądu do takiego kodu, to może być taka ogólnikowa pogadanka...
A może jakiś gotowy moduł z atmega128 ?? Myślę ty nad czymś takim : [url=http://www.mikrovega.pl/old/1406.ph... No albo Atmega32, równierz występuje w DIPie. Wszystko zależy od tego ile jeszcze miejsca potrzebujesz .. ( perspektywicznie )
http://obrazki.elektroda.pl/7273397600_1... Witam, Chciałbym przedstawić projekt własnego sterownika PLC, opartego o mikrokontroler ATmega1284P. Jest to ATmega o największej ilości pamięci flash (128kB), dostępna w obudowie DIP, jaką udało mi się znaleźć. Sterownik składa się z pięciu modułów montowanych na wspólnej płycie głównej....
http://obrazki.elektroda.pl/9824916400_1... Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże...
To co robisz jest absolutnie błędne. Nie wolno zwracać wskaźnika do zmiennych lokalnych - po wyjściu z twojej funkcji wskaźnik ten nie wskazuje na żaden poprawnie zaalokowany obszar pamięci. To co wcześniej zajmował twoj string będzie od razu nadpisane przez kolejne funkcje - wszystko przecież znajduje się na stosie. Jeśli chcesz zwracać wskaźnik na...
Zastosuj bufor, albo prościej- też dzielnik napięcia, z tym że wyjście karty pamięci podpinasz bezpośrednio do uC. Mikrokontroler zasilany 5V bez problemu odczyta 3v3 jako stan "1".
Program się tak dziwnie wysypuje bu zmieniając go zmieniasz kod trafiający na ten felerny obszar. Dziwne co prawda jest, że nowy proc tak się zachowuje, ale błąd w tym samym miejscu nie może być przypadkiem. Spróbuj ew. użyć innego programatora/progamu do programowania.
Ad.1 Odpowiedź ze strony producenta : DataFlash® is the world's number one selling serial interface flash family. Introduced in 1997, Atmel's Dataflash families (45 series and the recently introduced 26 series) are feature rich, low pin count, sequential access families ideal for program code, data storage, Serial EEPROM replacement, and the next...
Ten Warning który Ci wywała o zapełnieniu Stosu wcale nie jest związany z tymi ustawieniami co piszesz. Zobacz tutuaj: Tools->Options->Stack - to są ustawienia które są powodem tego Warninga.
Jakby ktoś miał czas może luknie i zobaczy czy nie popełniłem jakiegoś rażącego błędu albo co poprawić.... Póki co, to ten kod się u mnie nie kompiluje (biblioteka z https://github.com/lexus2k/ssd1306 jest zainstalowana): [syntax=bash]/home/mariusz/Arduino/__ele... In function 'void Oled_view()': __elektroda:843:25: error: 'Courier_New19x32'...
Ale ona nie ma żadnego zastosowania dla w/w przypadku, gdyż kolega nie korzysta z bootloadera. Aplikacja może wejść w obszar zarezerwowany na bootloader bez konsekwencji. Jak pisałem, avr-size nie ma informacji o wybranym ustawieniu fusebitów i zawsze liczy zajętość programu przyjmując maksymalną ilość pamięci FLASH dla danego MCU.
No tak to właśnie zrobiłem... No chyba nie bardzo :D Przetestuj ten kodzik :D [syntax=vbnet]$regfile = "m32def.dat" $crystal = 16000000 Config Submode = New Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Porta.0 , Db6 = Porta.1 , Db7 = Porta.2 , E = Portb.3 , Rs = Portb.4 Config Pind.2 = Input : Set Portd.2 : Ok Alias Pind.2 Config...
Wpadałem na kanał Tu sie zaczęły problemy myślałem ze jak nie mam ATmegi328 to uda mi sie wgrac programatorem USBasp prosty program w HEX "zaswiecenia LED" do Leonardo ATmega32u4 i cos pomieszałem po ponownym wybraniu zaznaczając w aplikacji ProgISP Prawdopodobnie w pierwszej instancji nic nie pomieszałeś, bo taka jest generalna procedura wgrywania...
Nic z tego nie rozumiem: https://esp32.com/viewtopic.php?t=4664, ale najwidoczniej tak ma być... Znaczy rozumiem tyle, że spróbuj zmienić strukturę na parzystą liczbę bajtów i zobacz czy są różnice.
Witam Czy przypadkiem nie liczy się tego tak : 1/0.00000007 = 14285714,285714(285714) [Hz] ?? Daje to ok. 14MHz a nie 4. Po ustawieniu adresu pamięć odpowie w czasie 70ns a więc kolejna zmiana adresu musi być po czasie dłuższym - stąd nie więcej jak 14Mhz. Nie wiem czy dobrze to przeliczam - w razie czego proszę o sprostowanie. Osobiście stosuję 62256...
Nie ma takiej zależności. Rozmiar stosu jest zależny od ilości zmiennych automatycznych i "łańcucha wywołań". 4\/3!!
http://obrazki.elektroda.pl/2762225800_1... Jedyny taki przenośny programator układów AVR. Pomoże wszędzie tam, gdzie trzeba zaktualizować oprogramowanie, a układ docelowy znajduje się w trudno dostępnym miejscu i nie mamy możliwości (lub chęci) ciągać ze sobą laptopa i mnóstwa przewodów. Banalnie łatwa obsługa, niski koszt wykonania, super...
właśnie chodziło mi o extern ale widzę, że extern uint8_t __stack _end nie są przypadkowymi nazwami, więc nie ma problemu:) dokładnie _end to miejsce gdzie kończą się zmienne globalne w pamięci ;)
Spróbuj tak: odczyt [syntax=c] if(eeprom_is_ready()) { eeprom_read_block(&ustawienia,&ustawieni... } [/syntax] zapis [syntax=c] cli();//Globalna blokada przerwań if(eeprom_is_ready()) { eprom_write_block(&ustawienia,&ustawieni... } sei();//odblokowanie przerwań [/syntax]
Najpewniej nie programujesz pamięci EEPROM. Niedawno był podobny temat: [url=http://www.elektroda.pl/rtvforum/vi...
https://obrazki.elektroda.pl/7395602600_... Jest mój kolejny metronom! Trzeci już na elektrodzie na przełomie parunastu lat :) Wszystkie z opcją TAP, a właściwie te dwa wcześniejsze tylko z tą opcją i prawdę mówiąc sporadycznie używane. Pierwszy z latającą linijką, drugi dość mały, przeciętne migadełko. Praktyka jednak i potrzeba (z...
Dodajesz do katalogu projektu pliki "CONFIG_AVR-DOS.bas" i "Config_MMC.bas". "Config_MMC.bas" możesz zedytować. Najlepje też wywalić z niego "Driveinit()". Inaczej przy włączaniu urządzenia bez karty będziesz miał kilkuminutową przywiechę. Dodajesz te pliki do za pomocą: $Include "Config_MMC.bas" 'include mmc $Include "Config_AVR-DOS.BAS"...
Pamięć jest zorganizowana w komórki 16-bitowe, objawia się to np tym że wskaźnik programu wskazuje na słowo (2 bajty) a nie na bajt. Wszystkie instrukcje muszą być więc wyrównane do granicy dwóch bajtów. Jakkolwiek z poziomu samego programu pamięć flash jest zorganizowana bajtami, więc spokojnie można w niej umieszczać tablice bajtów bez utraty pamięci....
Witam. Mam problem. Chciałabym się dowiedzieć jak zaprogramować Atmegę by poinformowała mnie(np. zapaleniem diody), że skończyło się miejsce w eepromie? Czy taki problem jest omówiony w dokumentacji?
Jak najbardziej write_block zapisze poprawnie - kluszem jest parametr size. Jeśli pobierzesz &id_czujnika i sizeof(id_czujnika) to będzie ok.
Ja bym się zastanowił czy np. 32 kB SRAM (tyle max mają wbudowane XMEGA) nie wystarczy. Jeśli to ciągle za mało to można wziąć XMEGA A1U - 2xADC, próbkowanie 2 Msps, do tego zewnętrzny SRAM w konfiguracji 4-portowej (brak innych elementów) lub LPC (mniej połączeń, ale za to zatrzaski) i tyle. Pamięć najlepiej o czasie dostępu <15 ns. Inaczej trzeba...
Wg mnie dobrze kombinujesz z buforem statycznym. Jeśli masz tylko dość pamięci to powinieneś pójść tą drogą, a odpowiedź na Twoje pytanie jest dość proste, tak mi się wydaje. Zrób po prostu funkcję, która będzie zwracała wskaźnik do Twojego bufora, coś na kształt: [syntax=c] uint8_t * buffer_get_ptr(void) { return UART_RxBuf; } [/syntax] W pliku nagłówkowym...
[url=http://www.elektroda.pl/rtvforum/to... ,8 post masz cala obsługę spi
Przeanalizuj swoje odwołania poprzez GOSUB. Masz na 100% zapętlone i stos ci się przepełnia. Najpierw piszesz Gosub Standby a potem w tej procedurze Gosub Glowne , a tam znów Gosub Standby w jednym z warunków. I tak w kółko program sobie skacze i po dwa bajty na stos.
Wyjścia : 6x LCD, 2x xegar np ds1307, 3x enkoder, 2x potencjometr cyfrowy = 13, to dopiero niespełna dwa porty. Oczywiście, ekonomiczniej jest dać np. Atmegę 32, bo kosztuje podobnie, a ma więcej pamięci i portów.
Masz parę błędów w programie. Na pierwszy rzut oka: 1. Operacja y*y+z*z może doprowadzić do przepełnienia typu int. 2. Deklarujesz typy o tych samych nazwach w nagłówku i w implementacji => czytaj strzał w stopę. 3. Tego typu deklaracja: nie rezrwuje żadnej pamięci na bufor poza jednym bajtem. W związku z tym operacja: [syntax=c]LCD_WriteText(itoa(wartosc,tab...
zmieniłem na float i to samo A dlaczego nie korzystać z proporcji. (ADC *100)/1023 odpada pamięciożerny float. Co do bargrafu, to podziel 1023 na ilość (diod +1) i if (ADC== X) PORTp &=~(1<<LEDn).
Dopiero zaczynam zabawę z mikrokontrolerami , ale zrobił bym to tak: Za pomocą płytki Arduino UNO użytym jako Arduino ISP programator zaprogramował bym Atmegę 8 , o ile wystarczy jej pamięci , bo atmega 328 ma jej więcej Nastepnie zaprogramowaną Atmegę 8 podpiął bym na płytce stykowej dokładając jej kwarc, pod inny programator np USBASP . Wykorzystując...
O kilka MHz zawsze można spokojnie podkręcać każdy praktycznie procek AVR. Ja np bardzo często ATmega32 16MHz taktuję kwarcem 18,432MHz . Wyszło już wiele takich urządzeń i żadnych reklamacji ;) A co się będzie działo jak dasz więcej np 28MHz zamiast 20MHz to już sam zobaczysz. I nikt ci tu nie poda dokładnych opisów co się dzieje bo to tylko zabawa...
Masz podłączony kwarc 8.0 - 16.0 MHz? I kondensatory 12-22pF przy kwarcu? Częstotliwość kwarcu ustawiona w środowisku programistycznym? R Dodano po 1 kwarc 20MHz Dla tego kwarcu masz źle ustawione fuse-bity. Swoją drogą po co taki szybki kwarc? R Dodano po 2 Brak zaznaczenia bitu EESAVE powoduje, że przy każdym programowaniu mikrokontrolera pamięć EEPROM...
W przykładach operujemy ciągle na stałych - daj fragment kodu, który Ci coś nadpisuje. Jeśli chcesz wygodnie korzystać z c-stringów to dołącz string.h i korzystaj z właściwych do tego celu metod... no i właśnie dlatego "nie schodzę poniżej" C++, bo uważam, że programista ma na głowie ważniejsze rzeczy (jak np. funkcjonalność i niezawodność końcowej...
To co zrobiłeś nie miało prawa zadziałać z wybraną płytką NG, ona ma ustwienie na kwarc 16MHz: c:\Program Files (x86)\Arduino\hardware\arduino\avr\board... ... ########################################... atmegang.name=Arduino NG or older atmegang.upload.tool=avrdude atmegang.upload.protocol=arduino atmegang.upload.speed=19200 atmegang.bootloader.tool=avrdude...
Co Ci się nie zgadza? Każdy twój ciąg znakowy zajmuje 30 bajtów (31 bo na końcu jest null), 200 takich ciągów to ~6 kB. Czyli ~6kB pamięci programu idzie na ich przechowanie, a po uruchomieniu programu trzeba alokować kolejne ~6kB pamięci RAM na ich przechowanie. Po co definiować te ciągi, skoro można je dynamicznie generować? Możesz je też umieścić...
Witam. Dlaczego sygnał CS nie jest stanem ustalonym? Umieść większy schemat. Proponuje dokładać dekoder adresowy zbudowany na układzie np. 74*138. Pozdrawiam.
janbernat, dziękuję za pomoc :) Wszystko co opisałeś poprawiłem - powinno hulać, ale niestety jest tak jak na początku, program nadal nie działa. zastanawiam się ciągle nad tym o czym pisałem wcześniej: program nie działa gdy w funkcję wstawię dwa wiersze: L=1000; L=1; natomiast gdy to usunę to wszystko chodzi tak jek powinno. (zauważyłem, że gdy pamięc...
Możesz albo: 1. Umieścić w częsci bootloaderowej sekcję .text (łacznie z wektorami) a w cześci aplikacyjnej jakąś swoją sekcję. W tym przypadku musisz kosekwentnie wszystkim funkcjom przeznaczonym do części aplikacyjnej nadać atrybut "section costam" i przy linkowaniu podać opcje -Ttext=<boot> --secion-start costam=<app>. Wadą jest, że funkcje...
Procesory AVR mają 16 bitową organizację rozkazów. Zatem jeden rozkaz, to jedno 2 bajtowe słowo. Jeśli ATMEL napisał, że ATmega128 ma 128 kB pamięci programu, to oznacza to, że ma ona 64 k słów 2 bajtowych. Zatem licznik rozkazu musi mieć 16 b, aby obsłużyć taką ilość pamięci. Nie można przecież posądzać ATMELA o tak idiotyczne posunięcie, jak wkładanie...
Tak będą działać na atmega 128 tylko musisz podłączyć wyświetlacz tak jak jest napisane w linku. Wszystko wgrywane jest do pamięci flach. e-mail twój jest aktualny? wyślę Ci filmik co zrobiłem.
Witam, 1. 400kHz I2C a 20MHz ISP. Ile razy szybszy jest odczyt (i ew zapis) pamięci DataFlash od I2c EEPROM? Po pierwsze: nie osiągniesz 20MHz transmisji do pamięci DataFlash bo największa dopuszczalna częstotliwość pracy ATmega128 to 16MHz, a do tego częstotliowść pracy magistrali SPI ( a nie ISP In Cicuit Programing - programownie w układzie ) jest...
Zobacz jest nota Atmela migracyjna z mega8 na mega88 i porównaj zwłaszcza rejestry które są inaczej mapowane w pamięci. N.
Witam Chciałbym przez rs232 zapisywać zmienne z pliku txt do zewnętrznej pamięci eeprom np. 24Cxx z których będzie korzystał mikrokontroler atmega128. Od czego zacząć? Czy to będzie bardziej rozwiązanie polegające na programie w mikrokontrolerze zasysającym dane z txt i wczytującym je do eeproma czy zrezygnować z drogi mikrokontrolera i programować...
A może jest zwarcie na liniach adresowych pamięci - oba adresy pamięci odwołują się do tego samego obszaru. NIc innego nie przychodzi mi do głowy, a na poprzednich screnach tak by wychodziło. Radzę sprawdzić linie adresowe pamięci.
gdy z Mega16 zgrałem stary soft (zegarek) i spróbowałem wgrać od nowa - udało się, nowego softu wpisać nie mogę. Nie kasujesz pamięci przed zapisem - a trzeba koniecznie. Te same dane na juz istniejące w pamięci można wgrać, ale nowych (innych) już na pewno nie.
(at)dasej Jest jakiś techniczny argument za tym aby uprawiać tego typu archeologię?
Dragon to jedno, warto zainwestować. Wykrywanie przepełnienia pamięci to trudny problem. Generalnie, jeśli nie korzystasz z alokacji dynamicznej, to interesuje się wskaźnik stosu (SP). Jeśli schodzi za nisko, to świadczy to o braku pamięci.
Dla m48pb jako "parent" powinno być m48, podobnie m88 dla m88pb (inna wielkość pamięci i strony we flash).
Witam Mam układ składający się z procesora i pamięci kilka MB. Chciałbym wgrywać do tej pamięci dane z komputera np. pliki wav lub mp3. Ma to być jednocześnie proste. Chciałbym do mojego procka (prawdopodobnie jakaś ATMEGA) dołożyć konwerter FT8U232BM. Poszukujęteraz jakiegoś punktu zaczepienia. Narazie mam kilka pytań: 1) czy pamięć bedzię musiała...
Co do drugiej uwagi wspomniana konstrukcja w funkcji eeprom_write() jest takowa, z mysla o tym, zebym mogl jej uzywac do zapisywania ciagow. Dzieki temu moge napisac eeprom_write(EEPROM1, adres, "tekst do wpisania < 32 liter"); Obawiam się, że to będzie działać prawidłowo tylko wtedy, gdy adres będzie podzielny przez 32. Poza tym,...
Napisz program, skompiluj i poszukaj wynikowego pliku zawierającego kod w asemblerze (to będzie jeden z nowo powstałych w katalogu z projektem plików, nie pamiętam rozszerzenia). W pliku tym jest też "binarna" wersja programu - wystarczy policzyć bajty. Zobaczysz, co zajmuje mniej miejsca, jeśli porównasz 2 wersje swojego programu. Nie zapomnij o tym,...
Jak się kasuje pamięć atmega tym programem?
Tak oczywiście ale człowiek chce czasem podejść do rozwiązania z innej strony. Czyli z d.... strony. Jak mam jakiś "doskonały" pomysł, to sobie myślę, że pewnie przede mną wiele mądrzejszych ludzi nad tym kombinowało i coś sensownego wykombinowała, wystarczy tylko poszukać jak to zrobili... A zrobili prosto i w miarę skutecznie - to się nazywa lockbity....
Posiadam dwa identyczne urządzenia oparte na atmega2560, pewnego dnia przyszedł mi do głowy głupi pomysł, ponieważ zauważyłem na płytce port jtag postanowiłem podłączyć programator, uruchomiłem Avr studio .... Zanim zorientowałem się z grubsza o co chodzi w programie, urządzenie przestało działać.... Prawdopodobnie nieopatrznie wyczyściłem zawartość...
Jaką masz pewność, że bootloader nadal znajduje się w pamięci uC? Jeżeli był wielokrotnie używany to być może ktoś wyczyścił mu pamięć
No na stronie atmela wlasnie pisze ze te procki zastapiono procesorami Atmega, wiec jesli nie mozna ich znalezc juz w zadnym sklepie to zostaje Ci chyba tylko Atmega.
Przy wszechobecnych smartfonach z GPS projekt ma cel jedynie dydaktyczny. https://obrazki.elektroda.pl/8137009600_... https://obrazki.elektroda.pl/1112682000_... https://obrazki.elektroda.pl/8424355600_... https://obrazki.elektroda.pl/6842364000_... https://obrazki.elektroda.pl/7046695700_...
Witam . Ale to jest pamięć SRAM lub jak kto woli Static Ram . Jest to pamięć ulotna no chyba że zastosujesz podtrzymanie bateryjne . Programatora do tego nie znajdziesz bo nie ma bo i po co. Jedynie co mi przychodzi na myśl to można ją zastosować z mikrokontrolerami które obsługują zewnętrzną pamięć , jakaś 51 albo atmega (z tych większych).
Witam czy jest jakaś możliwość aby mikro kontroler potraktował zewnętrzną pamięci EEPROM (24cxx) jak swoją, to znaczy żeby potraktował ją jak rozszerzenie wewnętrznej, żeby normalnie można było nią programować razem z uc, tak jak robi się to z wewnętrzną pamięcią.
Zacznijmy od tego, że nie obsłużysz tej pamięci sprzętowym SPI. Musisz na piechotę napisać obsługę transmisji z tą pamięcią.
W końcu A1..A3 maja związek z pamięcią To jest tylko do adresowania urządzeń na I2C - jak inicjujesz zapis/odczyt iic to wysyłasz adres urządzenia, do którego się odwołujesz. Część jest na stałe zapisana w hw i na to nie masz wpływu, część jak owe linie adresowe pozwala zmieniać ten kawałek adresu, który trwale zapisany nie jest - pozwalając na pracę...
Mam atmega 8 i atmega 328 i wspomniany wyświetlacz , chyba dwa DS18B20 byłyby odpowiednie dla pomiaru temperatury zewnętrznej i wewnętrznej , tylko nie wiem czy atmega 8 ma wystarczającą pamięć.
Dobrze ustawiasz (zakładając, że masz prawidłowo skonfigurowane fuse bity). Chodzi o to, że adres 0xFC00 bootloadera jest to adres słowa (word-2bajty), czyli żeby otrzymać adress bajtowy musisz pomnożyc go razy 2, czyli wychodzi adres 1F800, spróbuj otworzyć ten hex np w PonyProgu zobaczysz o co chodzi. A dlaczego w pliku hex masz adress F800 zamiast...
http://obrazki.elektroda.pl/7819079000_1... Witam. Przedstawiam kolejną konstrukcję wyświetlającą modele 3D. W tym projekcie mikrokontroler odczytuje modele zapisane w formacie OBJ bezpośrednio z karty pamięci typu RS-MMC lub SD. Całość pełni funkcję miniprzeglądarki modeli OBJ. Wybrany model po wczytaniu jest skalowany do rozmiarów...
http://obrazki.elektroda.pl/4553573800_1... Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł! Poniżej...
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...
Myślę, że można zamienić pomiędzy sobą dowolne linie adresowe, tak samo jak można dowolnie zamienić pomiędzy sobą dowolne linie danych. Jest tak tylko z tego względu, że wśród adresów jak i danych nie ma żadnych poleceń sterujących pamięcią, a pamięć ma taki sam czas dostępu przy operacjach sekwencyjnych jak i losowych. Mieszanie linii adresowych będzie...
Przecież nawet ATMega 8 ma pamięć EEPROM i Arduino ma bibliotekę do jego obsługi. https://randomnerdtutorials.com/arduino-...
Proponuje zapoznać się z budową avr i strukturą zabezpieczeń . Tam jak producent ustawił zabezpieczenie , a jak znam życie to to zrobił to nie działa OCD , i nie da się nic odczytać ani zapisać można tylko skasować te zabezpieczenia wraz z zawartościa pamięci programu . Prodcent pdłaczy JTAG da erase i skasuje program Potem wgra nowy i zabezpieczy...
Raczej nie da rady. To tylko matryca, bez kontrolera. Bez dodatkowego kontrolera (w rodzaju własnie t6963c) i pamięci atmega nie ma szans.
Schematy Arudino są przecież dostępne. Tu znajduje się schemat płytki Leonardo: [url=https://www.arduino.cc/en/uploads/M... Jest ona oparta o mikrokontroler Atmega32U4, który posiada interfejs USB. Nie ma możliwości wstawienia Atmega32A. Nie masz też możliwości odczytu jednego mikrokontrolera, jako innego. Przecież...
Ilością dostępnej pamięci FLASH - 8, 4 i 16kB. Hex z 88 powinien ruszyć na 168, o ile nie wykorzystujesz bootloadera itp. spraw.
Spróbuj od-komentować tę za-komentowaną część kodu. DS jeśli nie został zainicjowany prawidłowymi danymi ustawia flagę chfl. Oznacza to, że zawartość RAM w obszarze pamięci zegara zawiera śmieci i należy ją zainicjować poprawnymi danymi. Nie pamiętam dokładnie, ale wydaje mi się, że wtedy zegar nie odlicza czasu dopóki się go nie zainicjuje. PS> Jakbyś...
A spróbuj w miejsce I2C_odbierz podstawić: [syntax=c] unsigned char I2C_odbierz(unsigned char ack) { TWCR = (1<<TWINT)|(ack<<TWEA)|(1<... while (!(TWCR&(1<<TWINT))); return TWDR; } [/syntax] I w funkcji main: [syntax=c] init_UART(); I2C_init(); unsigned int adres = 0; I2C_start(); I2C_wyslij( (0xA0 | (adres >> 7))...
Jeśli piszesz w WinAVR i otworzysz plik w asemblerze to zobaczysz, że każde nie używane przerwanie prowadzi do resetu. Nieużywane tzn. nie posiada funkcji obsługi przerwania. Przerwanie takie od np. przepełnienia timera może nastąpić jeśli zostanie odblokowane, ale jak mówisz w tym przypadku to nie to. Możesz po prostu wyłączyć watchdoga i upewnić się...
http://obrazki.elektroda.pl/5325514500_1... Witam. Jest to mój pierwszy post na tym wielkim forum. Chciałbym się pochwalić swoją konstrukcją, ponieważ nie wierzyłem, że uda mi się stworzyć coś, co będzie wyświetlało wirujący sześcian. To było raczej odległe marzenie zainspirowane nagraniami wideo znalezionymi w internecie jeszcze przez zakupem...
cytat z dokumentacji atmega162: Since the external memory is mapped after the internal memory as shown in Figure 11, the external memory is not addressed when addressing the first 1,280 bytes of data space. It may appear that the first 1,280 bytes of the external memory are inaccessible (external memory addresses 0x0000 to 0x04FF). However, when connecting...
He, sory, chyba spałem jeszcze jak to pisałem ;) (Dla tych, którzy też nie zauważyli - nie było nawiasów) A co z tymi funkcjami inline? Chciałem, żeby program był czytelny. Używać ich, czy wystarczy #define? Inline w ogóle zajmują miejsce w pamięci?
ad 1/ Nie, nie wymaga on zewnętrznej pamięci. Wbudowana pamięć wystarcza do buforowania ramek wychodzących i przychodzących. Kontroler może sobie dane z tej pamięci przenosić do dodatkowej pamięci w procesie pobierania pakietów. ad 2/ Najlepiej podłączyć pod interfejs zewnętrznej pamięci ram (najlepiej współdzielone z dodatkową pamięcią) - jeśli to...
W sytuacjach, kiedy łączny rozmiar kodu wynikowego Twojego programu wraz z bootloaderem jest większy niż rozmiar dostępnej pamięci flash. Jeżeli nie ma takiego zagrożenia, programowanie po ICSP można sobie odpuścić.
liczniki pamięc pamięc eprom compaq pamięc
dioda ograniczenie prądowy żelazko pokrętło deutz temperatura
kleopatra przestrojenie infinity 1250w
Termet Silver Pro: Ciągła praca pompki z regulatorem pokojowym Naprawa przycisku kompresora: nie trzyma, co robić?