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...
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
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).
nie bardzo rozumiem tej odpowiedzi zaczynam sie bawic w bascomie i chce dodac zapamietywanie czestotliwosci pod kazdym przyciskiem i ich odczyt pozdrawiam i dziekuje za pomoc
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...
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.
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
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.
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ś...
Pisze, że words, a word to dwa bajty, czyli masz wykorzystaną całą pamięć.
A istnieje jakiś sposób programowania przez UART tylko wewnętrzną pamięć EEPROM ? np. w Atmega8 ? Oczywiście chodzi mi o opcję bez bootloadera.
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...
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.
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...
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.
I jeszcze luźna myśl: Na podstawie innych Twoich postów, że używasz C. Czy i jaką stosujesz optymalizację w kompilatorze?
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?
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...
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
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ś ?? :)
... mozna uzyc bootloadera do wladowania programu
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...
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.
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...
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ęć?
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.
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...
C_rtd_i = eeprom_read_word(&C_rtd[i]); 4\/3!!
A fusebity były programowane, czy tylko sama pamięć programu?
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.
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 ;)
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...
[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]
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 ;)
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
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.
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 :?:
Witam To juz mój 4 dzień walki z wykonanym przeze mnie programatorem avr910 z ATtiny2313. W dalszym ciągu mi nie działa :( tzn nie zgłasza się w AVRprog. Ustaliłem następujące rzeczy: [1] podłączyłem programator(do programatora była podpięta ATmega8) do PC i obserwowałem w terminalu (nastawionym na 115200 a reszta standardowo) co wysyła programator...
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.
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...
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?
W takiej sytuacji lepszym rozwiązaniem byłaby Atmega8, przy takim programie pamięć na pewno by Cię nie ograniczała.
Ok Dzięki spróbuję tak zrobić
Mikroprocesor to atmega8? Znalazłem rozwiązanie na opóźnienia - pamięć FRAM tylko że ta cena - 25zł za 64k
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...
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.
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_...
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!
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.
Witam.Czy Attiny2313 można zamienic na Atmega8 i czy maja taka samą pamięć?
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...
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...
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...
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ą)
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
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.
ATMega8 się nie nada bo ma za małą pamięć FLASH. Musi być przynajmniej ATMega16.
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).
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...
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ęć...
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...
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...
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.
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...
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"...
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ś ?
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...
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ń...
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.
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...
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.
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.
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...
Witam Masz pamięć nie ulotną na pokładzie. Poczytaj o WRITEEEPROM. Pozdrawiam
Już zaprogramowałem atmega8 programem avrdude i mam kolejne pytanie jak usunąc pamięć?
O ile mi wiadomo w atmedze nie ma priorytetowania przerwań, czyli które jest właśnie obsługiwane to dopiero jak się skończy to przyjmowane jest drugie przerwanie. Jeśli się mylę proszę mnie poprawić. The interrupts have priority in accordance with their Interrupt Vector position. The lower the Interrupt Vector address, the higher the priority. [atmega8]
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.
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ś...
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...
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...
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ęć...
Jak w temacie, muszę zbudować programowalny włącznik światła, który na 1 programie bedzie zapalal swiatlo zawsze o 6 i 19, a na 2 programie np o 10 i 22. Oczywiscie mialaby pozostac mozliwosc manualnego wlaczania/wylaczania swiatla. Calosc dzialajaca podpieta do 230V. Prosiłbym o informację jak się do tego ogólnie dobrać. Wewnetrzny zegar mam pomysł...
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ęć...
Potrafisz wykorzystać interfejs SPI w AVR? Jeśli nie, to od tergo musisz zacząć. Nie niestety nie potrafię. Moje "projekty" to przerabianie prostych układów z Arduino na ATmega8 i to właściwie tyle.
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.
Polecam książkę "mikrokontrolery AVR ATmega w praktyce" R. Baranowskiego, rozdział 5.7 Ćwiczenie 7. Interfejsy optyczne i pamięć EEPROM; programowany pilot RC-5 .
Jak wyżej AVR ATmega8 lub 16 byłby idealny, ma wbudowaną pamięć danych eeprom, dzięki czemu po zakończeniu jazdy zachowasz wartość przejechanych kilometrów na stałe, no i łatwo sie programuje w C.
Ciekawi mnie dlaczego mikrokontroler AT90S2313(15PLN) jest droższy od ATMega8(7PLN)? Przecież ATMega8 wydaje się lepszy... 1 ) Pamięć programu 2 ) Pamięć RAM 3 ) pamięć EEPROM 4 ) liczba I/O 5 ) Timery 6 ) PWM 7 ) SIO 8 ) przetworniki A/C 9 ) Komparatory Analogowe Nazwa___1_|__2__|__3__|_4__|_5_|_6_|_7__... 2313->__1K_|_128_|_128_|_15_|_2_|_1_|_UA...
Poszukaj jak wyglądają programatory ISP z FT232R na pokładzie (o ile mnie pamięć nie zawodzi kolega Mirek prezentował tu taki). Jeśli nie znajdziesz to mogę ci podesłać mój schemat. FT232 umożliwia sterowanie pozostałymi liniami IO w trybie bit-bang, dzięki czemu możesz przez niego robić normalne ISP. Jak odpowiednio to podłączysz to nawet AVRDude to...
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...
Projekt ładny, wykonanie także. Uwagi: Lepiej było zastosować np ATMega8 - dołożyc te 3zl i mieć nieulotną pamięć - koszt żaden, funkcjonalność o wiele większa. Czy ustawianie czasu z dokładnością do 0,1s jest niezbędne? (Nie znam się na fotografii, dlatego się pytam).
Jakaś zmienna zmiennoprzecinkowa: "float" lub jeśli będziesz korzystał z biblioteki math to wtedy lepiej "double". Trzeba tylko pamiętać że jest to dość "kodożerne". Wiąże się to z działaniami na zmiennych wielobajtowych. Z tego co testowałem avr-gcc w tym zakresie, to jak chcesz oszczędzić pamięć programu lepiej przechodzić na stały przecinek. Ma to...
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...
Fajna rzecz taki piórnik i masz rację ze tam trzeba pamięć. W jakim języku programujesz?
Rozszyfrowanie nazw AVRów jest proste: ATmega[pamięć flash, potęga dwójki, czyli 1, 2, 4, 8, 16, 32, 64, 128, 256][dodatkowy numer lub literka]-[najszybszy kwarc][typ obudowy] Czyli na przykład: ATmega8-16PU 8kB pamięci programu flash, najszybszy kwarc to 16MHz, obudowa DIL ATmega128L-8AU 128kB pamięci, L to wersja niskonapięciowa, 8MHz, obudowa TQFP
To już może lepiej kup jakieś Nucleo np. L476 - masz i dużą pamięć RAM i RTC w środku uC.
pamięć atmega8 atmega8 pamięć flash atmega8 zapis pamięć
motorola wymiana taśma telewizor odświeżanie pralka krzyżak bosch
Cobra GT900 Pro Rally – potencjometr w osi kierownicy i pedałach: modele, zamienniki, oznaczenia Jak włączyć tryb awaryjny w Xiaomi Redmi 4X?