Witam Owszem pamięć komunikuje się za pomocą magistrali I²C. Bascom ma wbudowane procedury obsługi takiej magistrali więc nie powinno być większych problemów. Warto przeczytać kilka razy helpa, żeby zrozumieć jak tą magistralę obsługiwać. Nie jest to skomplikowane ale zrozumienie tego ograniczy ilość nerwów, przekleństw i czasu. -- pozdrawiam
Witam HEX nie jest czystym kodem binarnym, zawiera zdziebko więcej informacji i możesz sobie go podglądnąć edytorem tekstowym, jeśli chcesz wiedzieć ile naprawdę zajmuje to zrób z niego BIN :D Wiele programatorów (programów do nich) potrafi zapisac pliki jako BIN lub możesz to zrobić zewnętrznym programem np. HEX2BIN Piotr
Nie może Cię interesować tylko C - tak czy siak będziesz musiał oglądać wygenerowany kod i połapać się, czy już jest wystarczająco dobry, czy nie. Oczywiście CFLAGS += -Os Wszystkie funkcje, których nie eksportujesz z modułów (są używane tylko lokalnie) zaznaczasz jako static. To samo z danymi globalnymi wewnątrz modułu. Uważaj na promocje arytmetyczne...
Oczywiście, że zależy ile razy była programowana, gdyż z każdym kasowaniem pamięć ulega fizycznej degradacji. Dane dotyczące trwałości są na pierwszej stronie każdej noty katalogowej AVR.
Nie potrzeba żadnych negatorów. Zrób ten prosty programator, tylko rezystory daj obydwa 1 k , a zasilanie podłącz 5v na stałe np z usb. Później w programie w settings - hardware zaznacz w communication wszystkie okienka, invert data in , invert data out itd. Wybierz także programmer - jdm programmer , oraz interface - windows api Ja tak programowałem...
Przy odczycie flagi zajętości, 6 młodszych odczytanych bitów to właśnie adres kursora, jeśli ostatnio aktywna była pamięć DDRAM.
I jeszcze luźna myśl: Na podstawie innych Twoich postów, że używasz C. Czy i jaką stosujesz optymalizację w kompilatorze?
Pisze, że words, a word to dwa bajty, czyli masz wykorzystaną całą pamięć.
pamięc 62256 (32k) 8,00 PLN atmega162 29,00 PLN (strasznie podnieśli ceny niedawno kupowałem po 11 PLN) 74AHC573 1 PLN razem 38 PLN zostaje 62 PLN na resztę , tworzysz sztuczny problem coś mi się zdaje chyba że nie zależy tobie na szybkości zapisu więc łap się za atmega8 i pamięci SPI bo na pamięć równoleglą zużyjesz wszystkie wolne piny i jeszcze będzie...
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.
Dokładnie tak jak mówi Fredy - kiedyś w jednym z projektów na Atmega8 miałem już praktycznie całą pamięć zajętą i po przejściu tylko na liczby całkowite zyskałem ponad 0,5kb
A istnieje jakiś sposób programowania przez UART tylko wewnętrzną pamięć EEPROM ? np. w Atmega8 ? Oczywiście chodzi mi o opcję bez bootloadera.
Całkiem rozsądnie mówisz, ale jest jeden problem. Gdzieś w postach zdaje mi się, że pisałem o tanim rozwiązaniu :/. Bardzo chętnie zastosowałbym Atmega328P, jest to coś takiego jak Atmega88, tylko, że z pamięciom 32kB. W dodatku ma tyle samo pinów co Atmega8. Jedyne "ale" to to, że kosztuje ~20zł i znalazłem ją tylko w jednej hurtowni. Więc szukam jakiś...
Miałem wcześniej działający układ ze zmienną typu float , i użytą funkcją sprintf ale są bardzo pamięciożerne i ze względu na małą pamięć mojego atmega8 chciałbym to w jakiś sposób obejść.A odnośnie tych dzieleń to nie mój pomysł ale słyszałem że jest to potrzebne aby wyświetlić wynik pomiaru po przecinku.Co musiałbym zmienić lub dodać to mojego kodu...
To prawda, w M8 pewnie tego nie pomieścisz. Ale najogólniej jeśli jest wolny FLASH to da się to prosto zrobić. Trzeba plik wav zamienić na obj narzędziem objcopy i potem otrzymany plik obj po prostu zlinkować z resztą programu. Szczegóły znajdziesz w manualu do objcopy.
[syntax=c]{ static _Bool cof = 0; if (h == 0 && m == 0 && s < 10) if (cof && s == 6) cof = 0; else if (!cof && s == 5) { ds1307_setTime(00,00,00); cof = 1; } } [/syntax]
Po co komu zewnętrzna pamięć na 400 bajtów danych? 4\/3!! To już autor musi zdecydować, czy mu potrzebna, czy też nie. Pytanie było, jaka pamięć a nie, czy potrzebuję takiej pamięci. Chociaż, jak czytam o co autorowi chodzi, to tak, po co rzeczywiście kolego pawel8704 Ci ta pamięć?
Witam szukam szukam i nie mogę nic konkretnego odnaleźć o kasowaniu atmegi. A mianowicie dzis 1 razy coś mi zadziało migając dioda .Potem chciałem aby 2 mrugały wiec napisałem znów program w bascomie i wgraem.A ta dioda co mrugała stanęła w miejscu i świeci jak skasować flesh atemge 8 ze bym mógł znów wgrać coś ?? :)
Poza ISP i zasilaniem nic nie ma. Do listwy goldpinów jeszcze nie ma nic podłączone, później będzie tam wyświetlacz ledowy na SPI (ze względu na małą ilość pinów).
Witam. Przecież w wylistowanym programie masz zapis i odczyt pamięci EEprom. teedd
Co do wyłączenie światła po 30 sek. Dodaj dodatkową zmienną bit która będzie ustawiana np: na 1 po wyłączenia światła przez timer po 30 sekundach a dzięki niej nie będzie ponownie włączane światło przez wciąż otwarte drzwi (stan niski na wejściu uC). Dopiero zamkniecie drzwi ( stan wysoki na wejściu uC) spowoduje zmianę tej zmiennej na 0 dim 30SEK as...
... mozna uzyc bootloadera do wladowania programu
A fusebity były programowane, czy tylko sama pamięć programu?
Tak jak napisał zumek po co robić to, co już zostało zrobione, działa doskonale i dodatkowo nie obciąża procka? Chyba że problem stanowi to że już "zrobiłeś sobie płyteczkę" i I2C jest na innych, niż dedykowane do tego interfejsu pinach. Chyba jednak mimo wszystko łatwiej będzie dokonać zmian na płytce, niż od nowa pisać programowe I2C Jeśli wciąż nie...
Mam jeszcze pytanko czy rejestry też zabierają pamięć z tego 1kB RAMu czy mają przydzieloną osobną? Bo z tego co wiem można też tworzyć zmienne typu 'register' Tym się nie martw - rzeczywiście takie zmiene będą w rejestrach jeśli kompilator uzna to za możliwe. Ale zmienne typu register nie służą, jak już, do oszczędzania pamięci RAM ;)
Więc pytanie zasadnicze. Jak zaokrąglić otrzymany wynik zmiennoprzecinkowy w bascomie AVR? Wykorzystywanie liczb zmiennoprzecinkowych do odczytu temperatury z DS18B20 jest lekko mówiąc mało rozsądne, zwłaszcza że "po przecinku" może być tylko 16 różnych wartości. Takie rzeczy to się zaokrągla na etapie pisania programu, który potem operuje wyłącznie...
a czy odczekujesz, aż pamięć zdąży wykonać operację zapisu? Potrzeba jej na to ok 10ms. Byćmoże symulator to tego nie uwzględnia. Wstaw delay między poszczególne operacje zapisu do pamięci, lub testuj flage zakończenia zapisu do pamięci.
GND, MOSI, REST, MISO, CSK, oraz RESET to sygnały mikrokontrolerów avr. Na rysunku, którym przedstawiłeś masz napisane "Tested with ATmega8, ..." Aby zaprogramować pamięć 93C46 należy zastosować [url=http://www.lancos.com/e2p/siprog_ba... tą wersje Si-prog z przystawką o nazwie "Microwire eeprom adapter" z [url=http://www.lancos.com/siprogsch.htm...
Tak, zabrako ci 52 bajtów... Masz włączone -Os? BTW, używasz starej wersji gcc, zmień na nowszą, niewykluczone, że dzięki temu zmieścisz się w pamięci.
jeszcze jeden stabilizator np 9V i dopiero później 5V czy może ma ktoś jakiś inny lepszy pomysł Nic to nie da, po prostu rozłożysz temperaturę na 2 stabilizatory. Lepiej przyklej jakiś mały radiator, lub zastosuj przetwornicę. występuje pewnie wszystkim znane drganie styków Wystarczy uwzględnić to w programie, wykorzystując np. DEBOUNCE. tylko nie...
A przy okazji zapoznaj się z programem MkAvrCalculator , który z twoim prockiem działa full FREE. Jest o wiele bardziej intuicyjny i szybko dzięki niemu doszedłbyś co i jak - polecam ;)
C_rtd_i = eeprom_read_word(&C_rtd[i]); 4\/3!!
Chodzi Ci o zapis do pamięci EEPROM? W wątku http://www.elektroda.pl/rtvforum/viewtop... zamieściłem plik lib_avr.zip, w nim znajdziesz odpowiedź na Twoje pytanie (jest tam biblioteka i przykładowy plik z krótkim programem.
Witam, na szczęście prawie każdy procek z serii AVR (mówię o nich bo na nich najczęściej robię a nie żeby inne się nie nadawały ;) ), posiada możliwość skorzystania ze sprzętowo wbudowanego rozwiązania aby generować sygnał PWM, dzięki czemu nie trzeba aż tak dużo kodu programu pisać. Jednak piszesz że programujesz tylko w Bascomie więc poleciłbym jednak...
to samo... bez zmian.. Ale spróbowałem zmienić ten fragment gdzie deklaruje napisy: char bufor[10]; char *t_tmax="Temp. MAX."; char *t_c=" [C]"; char *t_czas_podon="Czas POD ON:"; char *t_sek=" [s]"; char *t_czas_czekon="Czas CZEK ON:"; char *t_czas_podoff="Czas POD...
Nie w tej kolejności się wyraziłem chodziło o RAM, kartę SD czyta się w końcu blokami po 512 B więc o to chodziło że ciągle trzeba manipulować pamięcią RAM to jakby nie było pewien mały minus :) No chyba że się ją powiększa jako pamięć zewnętrzna.
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
Już śmiga. Nasuwa mi się jednak takie pytanie niezwiązane z tematem. Jeżeli dodam do tego układu WATCHDOG to co z moimi zmiennymi ?? Tzn czy jezeli mam zmienna wartosc1 która sobie jakoś na buttonach ustawiłem wartość po resecie WATCHDOGa wszystko się wyzeruje ?? Jezeli tak to jak zachować pamięć (niezewnętrzną)
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?
Ok Dzięki spróbuję tak zrobić
Nie widzę nigdzie kontroli połówek przy wyświetlaniu stringa... Musisz sobie dopisać albo przełączać ręcznie - jeśli wiesz co ile masz zmienić przy wyświetlaniu ;) i traktować jako dwa oddzielne wyświetlacze. Generalnie tak samo string wyjedzie Ci poza widzialny obraz nawet na jednej połówce bo nie masz kontroli nad zawijaniem tekstu - pamięć jest większa...
A może daj układ ISD jakiś. To pamięć sygnałów analogowych. w nim nagrasz dźwięk dzwonka i potem tylko odtwarzasz przez mały wzmacniacz.
W przypadku atmeg8 to powinna być pamięć z interfejsem szeregowym (do równoległego trza by jeszcze dorabiać interfejs) - 24cxx chyba za małe. Zależnie od potrzeb można dać scalak Data Flash (do 2-8 MB) np AT45DB161 albo szeregową kartę pamięci MMC lub SD (pamięć od 64MB do 1GB).
wiem, że wewn. EEPROM atmegi8 ma ograniczoną liczbę zapisów i kasowań. Nie wiem jak to jest we Flashu. Nie wiesz ponieważ nie chciało Ci się zajrzeć do dokumentacji. Na pierwszej stronie jest informacja Write/Erase Cycles: 10,000 Flash/100,000 EEPROM Chciałbym zrobić licznik rowerowy z zapisem dystansu. Coś takiego jak w samochodzie jest?
Odczytaj programatorem co jest w pamięci. Według mnie to wygląda tak że tylko wydaje Ci się że mikrokontroler się programuje a w rzeczywistości w pamięć dalej jest pusta. Tak więc zrób weryfikacji i zobacz czy to co wrzucasz do pamięci jest faktycznie tym co w niej się znajduje. Programator odczytuje prawidłowo sygnaturę mikrokontrolera :?:
Na schemacie znalazłem błąd. Linia A0 układu PCF8583 powinna być połączona z plusem, a nie masą. Inaczej układy I2C będą się nawzajem zakłócać, ponieważ pamięć EEPROM i układ RTC będą miały ten sam adres bazowy.
Potrzebuję dołączyć pamięć zewnętrzną do układu Atmega8. CZy może to być pamięć szeregowa i jakie kryteria musi spełnić aby działała razem z atmegą 8. I jescze jedno pytanko ile wyjść procesora wykorzystuje i czy to musi być specjalne wyjśćie czy każdy zwykły pin portu.
Witam !! Interesują mnie dane techniczne pamięci AtMegi8
Jakieś wymagania odnośnie magistrali/zasilania/poboru prądu itd? Fram jest bardzo szybki - nie ma opóźnienia w czasie zapisu i jest praktycznie niezniszczalny (jeśli chodzi o cykle zapis/odczyt).
Witam planuje zrobić małą zabaweczke odtwarzającą dzwieki nagrane w ISD1420 która bedzie sterowana przez atmega8 ,i tu pojawia sie problem ,jak dokonać podziału pamieci układu ISD1420 aby mozna było nagrać klika dzwieków oraz jak zmusic atmega aby odtwarzał je .srodowisko to bascom
[syntax=basic4gl]$regfile = "m8def.dat" $crystal = 10000000 Config Timer0 = Timer , Prescale = 128 Load Timer0, 5 On Timer0 czas Enable Interrupts Enable Timer0 Do If Pinc.0 = 1 Then Start Timer0 end if If Pinc.0 = 0 Then reset portd.1 end if Loop czas: set portd.1 stop Timer0 return [/syntax] Tak na szybko,... nie testowany. Zrobić możesz wszystko,...
Zostanę jednak przy atmega8. A piórnik zrobie ze strony kolegi: http://www.henwyd.republika.pl/TekstyHTM... Ma on tam wszystko ładnie opisane i co najważniejsze programujemy to za pomocą klawiatury, co jest bardzo wygodne. A mam jeszcze jedno pytanko. Czy ktoś może mi powiedzieć jak jak podpiąć zewnętrzną pamięć do atmega8 ?? Najlepiej jakiś...
Dużo zależy od programu, bo jednak Atmega8 jest słabszym klockiem niż Atmega328 z Arduino Pro Mini (peryferia, pamięć). Może się okazać, że program się nie zmieści albo będzie korzystać np. z PWM których w Atmega8 nie ma.
To wytłumaczę to tak. Tak jak w pętli jesst to wskazane zapisuje bity od 0 do 100 potem zostawia pamięć nie ruszoną do 255 i znowu zapisuje 100 bajtów i znowu do 255 nie tknięte i tak w kółko aż do końca pamięci.
W asemblerze wstawiasz : etykieta: .db "Jakis napis",0x0a,0x0d,13,12,0 .db "dalsza czesc tego samego napisu" itd. a wyciagasz z flasha: ldi zh,HIGH(etykieta<<1) ldi zl,LOW(etykieta<<1) lpm acc,z (lub z+) Ten napis w "" zostanie przekonwertowany na znaki ASCII. Jesli kody twoich liter nie sa...
1. Co to za funkcja "substr4"? Pomyłka przy przepisywaniu? 2. Jak zwalniasz pamięć przydzieloną przez malloc? Jeśli zapomniałeś, to będzie kaszana. 3. "strcmp(*id_1,*id_2)" -> id_1 oraz id_2 to tablice. Odwołania do nich traktuje się jak wskaźniki do pierwszego bajtu *id_1[0], więc powinno być "strcmp(id_1,id_2)" 4. Na twoim miejscu napisałbym samodzielnie...
Witam, postanowiłem zająć się programowaniem mikrokontrolerów z rodziny avr. Zakupiłem programator na usb i po podłączeniu do komputera rodzi się problem. Gdy napiszę program i chce go "załadowac'' w pamięć mikrokontrolera (Atmega8) wyskakuje błąd z programatorem. Oto następujące komentarz podany przez Notepad'a: avrdude: usbdev_open(): did not find...
mam koleejne pytanie czy atmega8 posiada jakąś pamięć stała ?? tzn jakbym chciał zrobić też licznik który bedzie zliczał przebieg samochodu. atmega musiała by zapamiętać przebieg nawet przy odłączonym zasilaniu
Jesli chodzi o zanik zasilania, o mozesz zrobic prosty ukladzik na tranzystorze ktory wykryje zanik zasilania. Jesli to wykryjesz to zapisujesz dane we WBUDOWANYM eepromie.
No to już coś, nie wiedziałem jak się za to zabrać ale teraz to może jakoś łatwiej będzie, czy to można napisać w bascomie ? mam Atmega8 i coś bym pokombinował może sie uda ?? jeszcze jedno pytanko, jak podłączyć i czy w ogóle można, pamięć micro SD do Atmega8, bo myślę że tam można by było zapisać te pliki wav i z niej odgrywać ? a może pisze bzdury...
Poco zaraz kupować cały zestaw? Kup programator USBasp za 15-18zł + ATmega8 za 5zł i tanio zrobisz to co oczekujesz za pomocą darmowego oprogramowania do programatora i środowiska IDE. A jeżeli jakimś cudem tak rozbudujesz program, że nie starczy Ci pamięci w ATmega8, to dokupisz nieco większy np. ATmega32.
Witam. Mam pytanie czy to możliwe, żeby ATMEGA16 z czystą pamięcią Flash pobierała 70mA? Buduję układ, który będzie pracował cały czas w samochodzie i te 70mA to trochę za dużo bo po kilkunastu dniach bez uruchamiania silnika akumulator się rozładuje. Pozdrawiam Nie przesadzaj, przy pojemności akumulatora 45Ah to wytrzyma 640 h. U mnie Atmega8 z programem...
Jestem studentem zmuszonym do zrobienia takiego projektu - moja wiedza w tym temacie jest szczątkowa - taką pamięć wybrałem - projekt jest juz zlutowany i zmiana pamięci teraz byłaby dużym utrudnieniem - skoro już taką mam to chciałbym z niej coś odczytać :D
Brawo. Bardzo mi się podoba ta inicjatywa. Tym bardziej że gdzieś kiedyś miałem nieco podobny pomysł, tylko brak czasu i zawzięcia. Projekt był z 3-ema pamięciami temperatur, aby było łatwiej. Plusik leci.
Witam serdecznie! Czy możliwe jest obsłużenie karty MMC przez ATMEGA8? Zastanawiam się czy wystarczy jej mocy ;) czyli RAMu i pamięci programu. Program zapisywałby na karcie niewielkie porcje danych (ok 50 bajtów) otrzymane z RS232. Pozdrawiam i z góry dzięki za pomoc!
Mikroprocesor to atmega8? Znalazłem rozwiązanie na opóźnienia - pamięć FRAM tylko że ta cena - 25zł za 64k
(at)lawczys Witam ! U mnie w Bascomie AVR DEMO wer. 2.0.7.9. plik Twój kompiluje się bez błędu, kod zajmuje 9% pamięci ATmega8. Może używasz Bascoma 8051 zamiast AVR ? Pozdrawiam. Stefan
W takiej sytuacji lepszym rozwiązaniem byłaby Atmega8, przy takim programie pamięć na pewno by Cię nie ograniczała.
Przede wszystkim poczytaj sobie to: http://www.patron.net.pl/artykuly/AVR_tu... I pogooglaj trochę hasłem Mikrokontroler. Owszem, są takie układy. Mikrokontroler to właściwie prawie normalny procesor, zamknięty w jednej obudowie z odrobiną pamięci operacyjnej (kilkaset bajtów) i kawałkiem pamięci stałej (kilka kB) na zapisanie programu. Teoretycznie...
Robisz odczyt oddzielnie dla pamięci flash i oddzielnie dla eeprom? W programie masz 2 przyciski read do oddzielnego odczytu każdej z pamięci i musisz tak zrobić. Najlepiej usuń pliki które w tej chwili odczytałeś, bo coś mi mówi, że ten pusty zrzut pamięci flash jest z tej pustej atmegi której nie mogłeś zaprogramować. Następnie odczytaj po kolei pamięć...
Możesz mieć wyłączony fusebit SPIEN. Nie połączysz się wtedy po ISP. Nie może, gdyż w trybie SPI nie da się tego fusebitu wyłączyć. Z noty procesora - "The SPIEN Fuse is not accessible in Serial Programming mode". est jeszcze opcja że został przestawiony fuse "SPIEN" i został zablokowany interfejs do programowania szeregowego. Jak wyżej. Upalony pin...
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...
Co do: Procesor32 napisał: Zapisujesz nazwy pod ten sam adres w EEprom Writeeeprom Q , 13 I odczytujesz też z tego samego adresu. Jeśli przeczytałbyś dokładnie post I po sprawie.Nie musisz pamiętać adresu pod który masz zapisywać i z pod którego odczytywać. Prosto i bez problemu. Jest to prosta metoda zapisu do EEProm, ale ma zasadniczą wadę. Użytkownik...
Witam.Czy Attiny2313 można zamienic na Atmega8 i czy maja taka samą pamięć?
Narazie szukam co to jest PLD bo szczerze mówiąc nie mam pojęcia co to... A tak konkretnie to miałem na myśli Field Programmable Gate Array (FPGA) Możesz zacząć od tej strony . Tak się zastanawiam skoro częstotliwością pracy mogę sterować to z czym był by problem żeby to pociągnąć na atmega8...?? Bo przecież nie będe na tym w doom3 grał... :wink: Znaczy...
ldi r16,(1<<TWPS0) sts TWSR,r16 ldi r16,18 sts TWBR,r16 ret z tego wychodzi preskaler 160 czyli przy 1Mhz sygnał clk ma czestotliwość 6250Hz. niby nic nie szkodzi że tak wolno ale sprubuj dać wiecej. dodał bym jeszcze ldi r16,(1<<TWEN) sts TWCR,r16 w procedurze inicjalizacji i jakieś jakieś małe opuźnienie. jak bede w domu...
Wbudowana w uC pamięć SRAM nie traci danych dopóki nie pozbawisz jej zasilania (ewentualnie wykonasz reset, nadpiszesz dane, itp.). EEPROM natomiast przechowuje dane nawet po zaniku napięcia. Co do szybkości: EEPROM jest bardzo wolną pamięcią, dlatego wszelkie obliczenia i operacje na danych wykonuje się w SRAM. EEPROM służy tylko do przechowywania...
W sumie strzelam na oślep, nie ma tam czegoś takiego jak np. define EXTENDEDRAM=16384 ? inne słowa jakie przychodzą mi na myśl to EXTRAM, RAMSIZE RAMEND SRAMEND... He he na oślep, a w tarczę trafił :wink: ->astral Nic prostszego nie udało mi się wymyślić :( Const Extramend = 262144 / 8 -1 Const Extramstart = _ramsize '_ramsize to stała "wewnętrzna"...
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ń...
a jakos można to sprawdzić czy uC nie jest zabezpieczony??
Witam Masz pamięć nie ulotną na pokładzie. Poczytaj o WRITEEEPROM. Pozdrawiam
ATMega8 się nie nada bo ma za małą pamięć FLASH. Musi być przynajmniej ATMega16.
hmm a jest jakiś sposób zeby wgrać do tej pamięci jakiś program i procesorek (atmega8) bedzie odczytywała z tej pamięci ? i jeszcze nastepna pamięć wygrzebałem HY514400J-70 moge ją wykorzystać jakoś ?
Czyli żeby wyświetlić znak w kolorze to należy czytać pamięć dwa razy? Raczej nie. Kolor wyskakuje z jednej kości, a znak wyskakuje z drugiej kości... chyba kolega atmega8 to projektował więc może przybliży nam tu zasadę działania tego koloru.
Piotrva -> masz rację. jak dodałem do przerwania int0 linijkę wyświetlającą napis "przerwanie" to po podaniu na int0 masy wyświetlił się ten napis i zapętlił, więc wychodzi na to że int0 ma wyższe uprawnienia od timera. Co do instrukcji LCD to oczywiście jej nie będzie w projekcie docelowym. Po prostu w takich testowych programikach dokładam te instrukcje...
Mam prośbę. Czy mógłby mi ktoś wytłumaczyć jak przeliczać pamięć EEPROM. Mój program zapisuje 4 zmiennie do tej pamięci: uint8_t EEMEM uklady; uint8_t EEMEM uk_mem[]; uint8_t EEMEM czujnik_mem; uint8_t EEMEM autowyl_mem; Zmienne 'uklady' i 'autowyl_mem' mają małe wartości int i co do nich jestem pewien, że nie przekraczam ich wartości, co za...
Polecam książkę "mikrokontrolery AVR ATmega w praktyce" R. Baranowskiego, rozdział 5.7 Ćwiczenie 7. Interfejsy optyczne i pamięć EEPROM; programowany pilot RC-5 .
Oj, ale coś skaczesz z pytaniami z kwiatka na kwiatek :) 1. Czy masz włączoną optymalizację -Os ? 2. Po kompilacji w okienku z komunikatami, masz informację ile kod zajmuje pamięci. 3. wykorzystuj bibliotekę delay.h.
To nie będzie działać. Mikrokontroler w arduino ma wgrany bootloader który pozwala programować go przez rs232. Nowy mikrokontroler ma pusta pamięć i w ten sposób nic nie wgrasz.
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 https://obrazki.elektroda.pl/9418177300_...
Zaprojektowałem taki zestaw uruchomieniowy, do potrzeb własnych. Zestaw posiada: -Wyświetlacz LCD - 2x16 -Wyświetlacze 7-dmio segmentowe - 2x2 -Diody kontrolne - 16szt. -Klawiaturę - 16xMicroSwith - układ 4x4 -Podstawki: DIP40, DIP28w(w DIP40), 3xDIP20(na rozszerzenia) -Stabilizowane źródło napięciowe -Rezonator kwarcowy - 16Mhz -Złącze do programatora...
Jak w temacie. Szukam programu (i programatora) do zaprogramowania ATmega8 ale tak, aby programować pamięć flash bez ostatnich kilku bajtów, np.: od adresu 0x0000 do 0x1FF0. Który programator ma taką opcję? Z góry wielkie dzięki.
Wiem że by dało radę na 1 procku. Ale zestaw musi się składać z płyty głównej i kart wpinanych w odpowiednie gniazda. Każda karta to inny rodzaj czujnika. Do tego ma być kontrola napięcia , kontrola zaniku napięcia sieci , załanczanie napięcia z akumulatora, no i komunikacja z PC. Informacja o błędach w systemie ładowanie baterii podtrzymującej pamięć...
Pierwsze pytanie - czy w inny sposób udaje ci się coś wyświetlić na LCD? I drugie - tam jest funkcja dodająca transakcje, która przy okazji włącza timer. Poprawiłeś ją? Chodzi o tą: [syntax=c] bool LCD_PutText_B(uint8_t x, uint8_t y, char *txt, LCD_trans *buf, bool autodel) { buf->cmd=LCD_Text; buf->Ready=false; buf->SelfDel=autodel; //Czy zwolnić pamięć...
Raczej za długa. ATMega8 ma 1kB RAM. A Ty do niego ładujesz dwie wielkie tablice: FontTable[97][8] czyli 776B napis[161] czyli 161B razem: 937B tylko na te dwie tablice!!!. Zostaje 87B na pozostałe zmienne i stos. Jeżeli dobrze pamiętam stos w ATMegach zajmuje pamięć od "góry" więc pewnie nadpisuje ci tablice napis. A z tego co widzę to jeszcze w programie...
Fajna rzecz taki piórnik i masz rację ze tam trzeba pamięć. W jakim języku programujesz?
To już może lepiej kup jakieś Nucleo np. L476 - masz i dużą pamięć RAM i RTC w środku uC.
... Problemem nie jest czas a pamięć:) Podejrzewam że nierozładowany kondensator = nowa ATMEGA8 :?: Niestety trzeba o tym pamiętać ! Czy wyświetlanie wyników pomiary powinno trwać ok.2s następnie timeout czy może ja coś sknociłem? Powinno trwać około 8 - 10 sekund.
Witam, potrzebuję napisać w C program, który mi zapisze o jakiej porze (czasie) została określona akcja wykonana. Np. zostanie wykonana jakaś procedura i ta procedura ma zapisać ten czas o jakim się zaczęła wykonywać, a później zapisać o której już się wykonała. Przykład po zapisaniu: 12:20:50,10-A4-1 17:33:26,35-A2-1 18:22:23,05-A2-0...
Już zaprogramowałem atmega8 programem avrdude i mam kolejne pytanie jak usunąc pamięć?
atmega8 pamięć flash atmega8 zapis pamięć kasować pamięć flash atmega8
bd243 bd244 wzmacniacz sprzedam sieć monter elektronik
babcia komputer sterownik movera
Kostka 13-pinowa do przyczepy - normy i funkcje Lokalizacja czujnika cofania Fiat Ducato 2003