A może skorzystasz z biblioteki eeprom.h? Jest tam procedura eeprom_write_byte (uint8_t *addr, uint8_t val); - do zapisu [nie rozumiem tylko dlaczego adres jest 8-bitowy - przecież np. ATmega8 ma 512 bajtów EEPROMU...] oraz uint8_t eeprom_read_byte (const uint8_t *addr); - do odczytu bajtu. (Jest też fajna procedurka eeprom_read_word(..) / eeprom_write_word(..)...
ds1307 oczekuje wartosci w formacie bcd a nie w dec pozdrowienia micha_
Dla 74HC165 linia ST_CP powinna być ustawiona na 1 podczas przesuwania a u Ciebie zostaje na 0. Jeśli funkcja void Trigger_Latch(void) jest dobra dla 74HC595 to w funkcji odczytu ustaw ST_CP na 1, a po zakończeniu odczytywania z powrotem na 0.
inicjowanie ldi R20, (1<<REFS0)|(1<<ADLAR)|(1<... out ADMUX, R20 ldi R20, (1<<ADEN)|(1<<ADPS1)|(1<&... out ADCSRA, R20 ldi R20, (1<<REFS0)|(1<<ADLAR)|(1<... out ADMUX, R20 przetw: sbi ADCSRA, ADSC przetw1: sbis ADCSRA, ADIF rjmp przetw1 cbi ADCSRA, ADIF in R24, ADCH troche...
Mam takie[syntax=c]// Set TWI boud rate TWBR = 0; // 0 - bardzo szybki, 255 = 14 kHz [/syntax] Chyba zaczynałem od 255 i doszedłem do 0. Zawsze możesz zwolnić tą magistralę. Ja mam kwarc 7,38MHz a EEPROM przy procesorze i oporniki 4k7 do VCC
Skasuj proc przed zapisem to po pierwsze gdyby był czysty miał byś same FF odczytaj najpierw zawartość i sprawdź chyba ze masz zablokowany procek to w adresie 0000 dostaniesz wartość 00
Witam, Zapis do pamięci jest zbyt wolny. Dla ATMEGA8 zapis jednego bajtu do EEPROMu trwa ok. 8.5ms Natomiast odbiór jednego znaku (10bitów) przy prędkości 9600bodów trwa 1.04ms. Tak więc w Twoim przypadku zanim zapiszesz odebrany bajt do EEPROMu to zdąży przyjść już kilka następnych których nie zdążysz obsłużyć. Pozdrawiam JarekC
Magiczne słowo static daje dokładnie to samo co zmienna globalna. Przekazywanie wyniku przez zmienne globalne owszem jest w niektórych przypadkach dobre lub jedyne możliwe (z przerwania do kodu), ale pomiędzy funkcjami - nigdy. Przyjmijmy, że mamy n funkcji, każda może zwrócić tablicę o rozmiarze m. Jeśli każda funkcja przydzieli sobie tą tablicę mającą...
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).
Próbowałem 200kHz, 100kHz, 50kHz. Za każdym razem efekt ten sam. To może spróbuj zajrzeć do PDF-ka tej pamięci i zainteresuj się mechanizmem PAGE WRITE, bo to on jest źródłem Twoich kłopotów.
Witam. Zrobiłem sobie prosty układzik który reaguje na sygnał z modelarskiego odbiornika RC i w zależności od długości impulsu zapala diodę lub ją gasi. Układ jest programowany przyciskiem podłączonym między PD2 a masę. Wywołuje przerwanie które zapisuje czas trwania stanu wysokiego. Bez zapisu tego czasu do EEPROM można go wielokrotnie programować...
Układ uszkodzony, dane w nim po prostu zamarzły i tyle - to samo mi się przydarzyło z m88v - czytam normalnie (program się nawet wykonuje) ale nie mogę zmienić nawet jednego fuska. Równoległy wysokonapięciowy również nic nie wskóra. Układ można wystawić na aukcję jako "niesprawdzony", przy obecnych cenach pewnie ktoś się skusi ;)
A jak podłączyłeś przycisk TOW do portu ? Standardowo ustawiamy port jako wejściowy i podciągamy go do plusa przez rezystor wewnętrzny a przyciskiem zwieramy do masy. Dodano po 4 Wystarczy wtedy uznajemy TOW jako aktywny z poziomem logicznym zero. Czyli zmienić tam gdzie TOW=1 na TOW=0 Jak przycisk jest wciśnięty to mamy zero jak wolny to jeden
Odczyt EEPROM trwa tyle co odczyt IO. Nie wnosi żadnych opóźnień. Zapis - jest zależny od MCU, dokłądne czasy znajdziesz w jego nocie - zwykle to 2-5 ms. Podczas zapisu procesor może wykonywać inne instrukcje, a nawet je wykonuje. Tylko, żeby z tego skorzystać należy dokonać zapisu z wykorzystaniem przerwań - po zaposaniu komórki wywoływane jest przerwanie...
... 2. Może głupio zabrzmi. Jak w PonyProgu zapisać eeprom do atmegi? Próbowałem, ale to nic nie daję. Niby zapisuje, a przy odczycie czysta kartka :/. ... Jeśli masz M8 , to Ponyprog "pokazuje/umieszcza" dane z eepromu od adresu 0x2000 i dane są w innym kolorze niż dane z flash-a. Odczytaj eeprom , "przewiń" okienko do 0x2000 i tam zobaczysz dane...
Bez względu na LockBit-y, kasowanie całości powinno załatwić problem.
Zanik napięcia badanego powinien pojawić się nieco wcześniej niż zanik zasilania procesora. Można to zrobić tak jak napisał kolega ololukiXP, trzeba dobrać inny dzielnik (jeśli jest to zasilane z napięcia przemiennego to można dodać osobną diodę i mały kondensator). Dodatkowo bezwzględnie należy w takich aplikacjach ustawić fusebit BOD enable. Spowoduje...
Zjadłeś przedrostki &B przy wartościach bitowych jaki już z niepohamowaną determinacją chcesz takiego zapisu używać.
http://www.atmel.com/dyn/resources/prod_... strony 140 i 143
Nie jestem pewny o co tak naprawdę koledze chodzi. Czy to jakoś pomoże? Dim tekst as eram string*30 Najprostszy sposób na zapis stringa w pamieci eeprom. pozdrawiam Tomek
Na schemacie masz nie podłączony R/W. Dla zapisu powinien być do masy.
Mam zmontowany układ z procesorem atmega8 na płytce stykowej. Do zasilania używam małego transformatora na 12V z mostkiem prostowniczym i kondensator 100nF ceramiczny i 100uF elektrolit. Później jest stabilizator i również po 2 kondensatory przed i za stabilizatorem. Problem polega na tym, że jak chce zaprogramować procesor to za każdym razem w ponyprogu...
Dobrze jednak napisałem, że "to wyrób z manufaktury". Zrobiłem już kilka STK200, ale każdy z nich do komunikacji z portem LPT wykorzystywał 8 linii (łącznie z GND). Jedynie programator Adama Dybkowskiego jest nieco innej konstrukcji i posiada 6 linii. Nie zechciałeś pochwalić się schematem (lub przynajmniej zdjęciem) tego urządzenia, dlatego mówimy...
Witam Potrzebuję napisać programik na ATmege8 np. w BasCom-a, który czyta kod z dowolnego pilota podczerwieni, zapamiętuje go do pamięci EEPROM AVR. Pozdrawiam Dowolnego pilota, znaczy że, ze wszystkich pilotów, czy wystarczy np z kodami pilota pracującego w kodzie RC5?
Witam, Mam prosty układ z wyświetlaczem GLCD i mikrokontroler Atmega8, który w swoim flash'u mam mieć zapisany prosty obraz monochromatyczny (tablica z definicją zapalanych pikseli) o rozmiarze 128x64. Zastanawiam się jakich, najprostszych obliczeń użyć aby ten obraz obrócić programowo np. w pionie wyświetlając sekwencję ruchu na GLCD i jakiego, najprostszego...
Brak programatora (tzn. kabelki prosto pod LPT) Zasilany z zewnętrznego zasilacza 4,5V 0,5A (to Atmega8L) Programuję za pomocą AVRStudio
Wykorzystanie INT nie jest dobrym pomysłem. Przełączenie następuje przy niskim napięciu (zobacz w nocie progi przełączania z H na L), w efekcie na Vcc napięcie może być za niskie i nie gwarantować wystarczająco długie podtrzymania działania mikrokontrolera. A zapis jednej komórki EEPROM to kilka ms. Pokaż też realizację kodu odpowiedzialnego za zapis.
Daj link do tego programatora
Czy w przypadku C + GCC +_ Atmega8 zapis jest według LITTLE_ENDIAN? Czy to zależy od rodzaju zmiennej? Zależy to od typu procesora, w AVR jest LE
Witam Chodzi o "rozbicie" na poszczególne (dowolne) porty : Dataport = Portd , Controlport = Portb Pozdrawiam Jacek
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.
Link do programtora sie nie otwiera, więc mogę zasugerować sprawdzenie napięcia zasilającego programator (o ile jest wogóle zewnętrzne). Mi czasem pony wariował jak dałem przedłużacz na port Com o długości 1m... Pozatym koszt HC to jakies 2zł to czy nieprościej go odrazu podstawić :)
Sprawdź napięcia na tych liniach odpowiednio je wysterowując. Jeśli kod jest z tego forum, to nie wiem dlaczego zakładasz, że jest on prawidłowy :) Na 90% jest błędny. Tu raczej ludzie nie zamieszczają sprawdzonych gotowców, tylko kody z błędami, w nadziei, że ktoś je poprawi, Obsługę tego RTC masz w darmowych przykładach do książki z mojego linku (do...
Witam, chodzi mi o to że po pobraniu każdej danej ustawiałbym sobie uC w tryb idle/sleep (nie wiem jeszcze) a gdy w pamięci będę miał już wymagane 10 danych to budziłbym sobie ponownie układzik i wysyłał wszystko - dlatego nie wiem czy SRAM jest w jakiś sposób zachowany w tych trybach. Dodatkowo chciałem się dowiedzieć czy poprawnie umieszczam te dane...
Witam, 1. spróbuj zmienić reprezentację tabl. dwuwymiarowej na liniową, współrzędne przeliczysz w/g wzoru index = y*dim_x+x 2. przy okazji wyłącz optymalizacje i zobacz, czy pomogło. pozdro, -- migod
[syntax=basic4gl]Portb = 11111111[/syntax] Jedenaście milionów sto jedenaście tysięcy... nie zmieści się w 8-mio bitowym rejestrze. Stałe binarne poprzedzone są odpowiednim prefiksem. Google mówi, że poprawny zapis to np. "&B11111111".
Małe pytanko a obsługa wyświetlania multipleksowanego jest wykonana w przerwaniu czy w pętli programu po ustawianiu zmiennej F4ms? EDIT: Nie rozumiem, zapis do eepromu wykonuje się 20 razy (zmienna Autoret = 20)
Zapis do eeprom musi się odbywać inaczej. [syntax=c]void eeprom_write_block(const void *źródło, void *adres_w_EEPROM, size_t ilość);[/syntax]
Prawdopodobnie powiniwneś zabezpieczyć program przed niekontrolowanymi przerwaniami ze strony tego licznka (chodzi mi o funkcję LCD_WriteFont)Wydaje mi się że Funkcja LCD_WriteFont nie pwinna być przerwana w trakcje wypisywania na LCD bo wtedy wyświetlacz może "zgłupnać" miałem ten sam problem i po zabespeczeniu funkcji wypisującej zanki na lcd przed...
Spróbowałbym jeszcze zmontować procka + programator na jakiejś płytce stykowej, żeby wyeliminować że to wadliwy programator.
czyli da się zapisywać i odczytywać tylko jeden bajt _a1 i trzeba sobie radzić tworząc własną procedurę zapisu i odczytu wielu danych? Niestety tak. a jeśli chodzi o sprzętowy TWI, to czy on może pracować jako slave, czy tylko master? Może pracować zarówno jako Master jak i Slave, dodatkowo każdy w dwóch trybach. Patrz nota katalogowa. programowo obsługuje...
Witam wszystkich, Mam układ, który po I2C zapisuje mi do pamięci 24c256 16 bajtów jeden po drugim. Robi tak co 3 minuty, procedura wygląda w ten sposób, że odczytuje adres zapisany w 4 i 5 komórce, zwiększa go o 1 po każdym zapisie a potem zapisuje do komórki 4 i 5." W komórce 1 i 2 zapisana jest ilość pozycji, pod koniec procedury zapiszdane wartość...
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
mógłbyś podać przykład takiego zapisu????
Write_to_eeprom(0xAA,adress); //np adres 0xAA; przy daress=0; czekaj ( ile); liczba = Read_from_eeprom(adress); //zwraca mi liczbe zczytana powinno dzialac
Datashee atmega8 ...write/erase cycles: 10.000Flash/100.000 EEPROM.. czyli 5.000 cykli gwarantowane
A google nie działa?. Twój problem jest problemem twoim i indywidualnym. Wybudzać procek możesz również Uartem. Na niewielka ilość danych to tak jak tmf powiedział fram lub nawet eeprom..
Zatem zapisy sa równoważne. Istotne to może być przy preskalerze = 1.
Nastepnym razem napisz jaki masz blad, na moje to zapis powinien byc i=i+1 oraz i=i-1
Próbowałem już kilu różnych rzeczy i nadal nic. Nie wiem jakie jeszcze opcje mi zostały :(. Podstawowa opcja , to oczywiście ... dokumentacja ;) Powiedz mi , dlaczego tak "szastasz" bitem TWEA :?: Ten bit należy ustawić , wyłącznie(!) przy przesyłaniu danych z slave do master i to pod warunkiem , że master ma zamiar odczytywać jeszcze jakieś dane ze...
witam, jaki typ programatora mam ustawic w avr studio dla tego układu?? mam avr studio 4 i wszystkie obskugiwane programatory sa na com....
Więc ten kod wydaje się błędny. Zgodnie z pdfem zapis odbywa się na opadającym zboczu sygnału WR. W tym kodzie wydaje się, że WR jest na tym samym porcie są D0-D7 i WR? Niemożliwe. W dodatku sekwencja zapisu wydaje się być błędna.
BOD to tylko terapia doraźna. Popraw przede wszystkim zasilanie, musisz mieć nieźle pokaszanione, skoro napięcie tak pływa, że miałeś 25% błędów. Popraw też program. Dobrą praktyką jest ustawienie EADR pomiędzy zapisami/odczytami na nieużywaną komórkę pamięci EEPROM. Dzięki temu przypadkowy zapis zostanie wykonany w nieużywanym obszarze.
Mam nastepujacy problem. Nie moge zaprogramowac jednej z Atmeg8. Korzystam z programatorow STK200 i USBASP (zazwyczaj korzystam z usbasp, ale w razie watpliwosci uruchamiam stk-a). Problem wyglada nastepujaca. Nie moge zmienic fusebitow, ani wrzucic nic do flasha mojej atmegi. Lockbitow nie zmienialem (wszystkie 11). Moge zczytac sygnature oraz ustawienia...
Zmiana OSCCAL na maksa może spowodować problemy przy zapisie do EEPROM i FLASH. Możesz trochę zrobić wstawek asemblerowych w newralgicznych miejscach programu.
"Lcd ; Czas_2" Czy średnik po LCD to prawidłowy zapis?
Prawdopodobnie nie rozróżnia kolega operatora przypisania (=) od porównania (==). Niepotrzebnie robi to kolega na około. WYS_0 do WYS_10 zamienić na tablicę, Może być char albo uint8_t. Dodać jedną zmienną np czas. Wtedy można użyć warunku: if (bit_is_clear(PINC, SW_1) && czas < 10) { czas++; PORTD = WYS[czas];...
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. Od jakiegoś czasu zacząłem programować uC wpięty w testboar'da. Mam wyprowadzenia od SPI. Włączam PonyProg'a i chcę zapisać. Wyskakuje mi write failde. Obszedłem to troszkę w nieco brutalny sposób. Jeszcze przed programowaniem wciskam przycisk od reset'u. Kiedy już zacznie operację zapisu, puszczam go. W ten sposób Wyskakuje mi Write succesful,...
Witam. Przecież w wylistowanym programie masz zapis i odczyt pamięci EEprom. teedd
Dlaczego nie napiszesz po prostu tak: UCSRC = 1<<URSEL | 1<<UCSZ0 | 1<<UCSZ1; - bez zbędnych operatorów i sztucznego pompowania objętości kodu zarówno źródłowego, jak i wynikowego. Dlaczego sekwencja |= nie działa - nie wiem. Czy nie działa na żywym uC, czy na symulatorze? Jeśli to drugie - to błąd symulatora, jeśli to pierwsze - niezgodność...
Spokojnie możesz z niego czytać. Będzie tam to co ustawiono bez względu na zewnętrzne warunki czyli to o co Ci chodzi. Działa jak rejestr podręczny. By the way - krócej niż zadanie pytania na Forum zajeło by Ci zapis czegoś do wybranego rejestru i odczyt czyli test tezy :P
Witam. Tak, masz racje powinno być tak jak opisałeś "config portd.0=output ' pin sterujący diodą LED'' Tak samo jak zapis warunków o których piszesz i jest prawidłowy. Przetestuj te zmiany i zobaczymy.
Witam państwa i znowu problem z eeprom(taki jak w tytule) nie mogę zapisać odczyt mi działa o to kod. Może znajdziecie jakiś błąd. A biblioteki to rklibavr #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include "lcd.h" #include "uart.h" #include "onewire.h" #define key_pin PINB #define...
Możesz zrobić podtrzymanie zasilania na kondensatorze i monitorować stan na jakiejś nóżce przed tym układem-tam zniknie zasilanie najpierw i wtedy wykonać procedure zapisu stanu do eeprom.
A gdzie ustawiasz: MCUCR = (1<<SRE); A poza tym, czy nie za duzo uwalniasz pinów z PC (PC5-PC7)? Ja też stosuję 62256, ale uwolniłem tylko PC7 (SFIOR=(1<<XMM0);) Pozdrawiam.
tak jak koledzy wspominali hex to zapis szesnastkowy. Ma on jednak kilka zalet: -jest dużo krótszy i łatwiejszy do zapamiętania niż zapis binarny (np zamiast 10001000b - bin - piszesz 0x88 - hex) -można łatwo odczytać które bity sa ustawione jako "0" a które jako "1", czego nie oferuje nam kod dziesiętny - np jakie bity są jako "1" ustawione w liczbie...
Nie ma innego wyjścia, jak pozmieniać wszystkie zapisy do portu C tak, aby zmieniały tylko potrzebne bity np. PORTC = (PORTC & 0xf0) | 0b1100;
Port jest 8-bitowy, a liczba 11111111 zdecydowanie ten zakres przekracza. Zapewne miało być 0b11111111? Poza tym zapis port&=0 to po prostu port=0, co oszczędza jedną operację IO.
Witam ATMega8 ma Timer1 16-Bitowy i do odczytu lub wpisu służą dwie dane: "TCNT1L" - odczyt lub zapis "dolnej" 8-Bitowej części i "TCNT1H" - odczyt lub zapis "gónej" 8-Bitowej części n.p. stan licznika "21456" odpowiada : TCNT1H =83 ; TCNT1L=208 bo 21456:256(pojemność TCNT1L=256)=83+208 Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być...
problem tkwi w tym, że program masz do obsługi układu DS1820, a podpięty masz DS18 B 20 (różnią się one rozdzielczością i sposobem zapisu temperatury w rejestrach). W internecie znajdziesz masę programów pod BASCOM i nie tylko obsługujących ten termometr.
Witam Chcę zrobić sobie termostat :) ale jak na razie udało mi się tylko napisać termometr, a termostatu nie umiem ;( http://obrazki.elektroda.pl/2811600200_1... http://obrazki.elektroda.pl/9802204300_1... Chcę zrobić tak, że jak naciśnie się trzeci przycisk to wtedy wchodzi się w ustawienia temperatury i jak już się...
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.
Diody sterowane poziomem wysokim a używasz operacji kasującej bity [syntax=c] PORTB &=0xF1; /* Zapal tylko pierwszą diodę */ [/syntax] Używaj [syntax=c] PORTB |= _BV(nr_bitu); [/syntax] aby ustawić i [syntax=c] PORTB &= ~_BV(nr_bitu); [/syntax] aby skasować bit. Jak [syntax=c] _BV(nr_bitu); [/syntax] jest beeee, to użyj zapisu [syntax=c] (1<<nr_bitu);...
Witam Jedna klatka animacji to 8kB a jedna sekunda to już 120kB. Myślę że powinien wyrobić się z odczytem z jakiegoś FLASHa i zapisem do pamięci grafiki, ale w tym momencie nie będzie mógł za bardzo robić innych rzeczy.
może tobie to w czyś pomoże: http://www.dharmanitech.com/2009/01/sd-c... http://frank.circleofcurrent.com/cache/f...
Trochę bym się kłócił z autorem tej instrukcji ponieważ atmega8 i atmega8a to praktycznie te same układy tylko inny pobór prądu (ten drugi ma mniejszy i może pracować przy niższych napieciach) i oba pracują w zakresie 0-16MHz (informacje z instrukcji). Różnica jest dopiero w układach oznaczonych Atmega8L które pracują do 8MHz. Dodatkowo stosuje się...
A jak myślisz, w zapisie BCD 80 jaką ma postać binarną? Jak nic wychodzi, że bit nr 7 jest ustawiony, a nie powinien być. Wniosek - tak, bitu oznaczone jako nieużywane trzeba zamaskować.
No właśnie coś nie idzie "chip erase" przez ISP :( Programatorem równoległym poszło ale zrobiłem ten sam manewr na próbę i znowu przez ISP nie ma kasowania ani zapisu. Coś chyba robię nie tak :/ Albo procesor jakiś nadszarpnięty mam.
Witam Chciałem poszerzyć pole swojego działania w ATMEGA8 o zapis i odczyt danych z pamięci wewnętrznej uC EEPROM. Otóż znalazłem na 20 i 21 str. manuala ATMEGA8 funkcje w C zapisu i odczytu danych z EEPROM uC. Oto one: Zapis do EEPROM: void EEPROM_write(unsigned int uiAddress, unsigned char ucData) { /* Wait for completion of previous...
2. Straszna rzecz piszesz 11111olo. Do Vref nalezy podpiac, do avcc nalezy podpiac odfiltrowane napiecie zasilania. 1. No cos musisz sobie wymyslec ;) Zapis i odczyt z eepromu jest opisany w dokumentacji gcc, a jak bedziesz zapisywac to juz twoj wybor ;)
Przycisk read flash a potem zapis do pliku.
Adresy odczytu i zapisu masz na pewno dobre?
A po co ci te informacje? Bo one nie mają żadnego praktycznego zastosowania. Jeśli 20MHz to za mało to masz serię XMega do 32MHz. Jeśli to ciągle za mało to zmień rodzinę. Parametry z noty są określane tak, żeby założony odsetek układów pracował w podanych warunkach. To znaczy, że większość będzie pracować przy szybszym zegarze, a jak szybkim nie ma...
NIE wolno robić czegoś takiego żeby zmienna co chwile była zapisywana do EEPROM-u dlatego że on ma określoną ilość zapisów minimum 100.000 / + . Ja bym si polecił jakiś SRam na i2C albo SPI z podtrzymaniem bateryjnym może być nawet zegar RTC PCF8583 . Co do karty i komunikacji z PC tu [url=http://www.dharmanitech.com/2009/01...
Nie mówię że nim są ciągle problemy ale sądzę, że chyba wykonanie takiego programatorka jest spokojnie w twoich możliwościach http://www.elektroda.pl/rtvforum/topic13... a zobaczyłbyś jak super śmiga taki USBASP ;)
Witam. Mam mikrokontroler Atmega8, oraz zmodyfikowane fusebity ( tak tak ,wszystko działa ) - poszukuje też fabrycznych ich ustawien ( poczatkowe ,zaraz po zakupie ). Z chęcia przyjmne screeny z poneyprog'a, tudzież zapis 0101010 l/h :)
A może byś kod pokazał? Przeciez napsal ze ma bledny kod .... Load Timer0 = 144 co winno byc: Load Timer0 , 144 albo jezeli preferuje zapis ze znakiem rownosci to: Timer0 = 112 ' gdzie dzialanie (256-144=112) wykona Bascom. e marcus
Podczas ustawienia PORTD = 10101010, diody działają w niezrozumiały dla mnie sposób Bo 10101010 to dziesięć milionów sto jeden tysięcy dziesięć. W zapisie hex = 0x9A2112. Po obcięciu do 8 bit masz 0x12, czyli 00010010 - to co widzisz na diodach. Kolega wyżej podał rozwiązanie.
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...
Ewentualnie mogę przestawić F_CPU=10000000 i zmienić czasy oczekiwań odpowiednich dla 1MHz? Niby możesz, chociaż ten zapis nie jest zalecany.
jeśli a zadeklarowane jest jako tablica: char a[128]; to adresem danych w tej tablicy jest: - a - &a[0] &a to ... w sumie nie wiadomo co [; 4\/3!!
Dane zapisują się w pamięci eeprom ale nie mam pojęcia jak to sprawdzić. Zapisują się,… albo też nie! Nie jest to poprawna forma zapisu do EEprom, co jest omówione niżej..... Generalnie wygląda to tak że po uruchomieniu sterownika ustawiam po kolei wszystkie parametry i wszystko działa do momentu wyłączenia zasilania ...... A powinno być w tej kolejności:...
Ja programuje ATMege8 programatorem ze strony PonyProga: http://www.lancos.com/e2p/avrisp-stk200.... A soft to PonyProg2000 - czyta, zapisuje, weryfikuje zapis :)
ATmega8 fabrycznie ma ustawione: HFuse - D9 a LFuse - E1. Jest to hexowy zapis tabeli 87 i 88 na stronie 223 noty. W zależności od potrzeb zmieniasz odpowiednie bity w tabeli i przeliczasz na hexy. Dla przykładu: LFuse dla wewnętrznego oscylatora 2MHz to E2, dla 4MHz to E3, a dla 8MHz to E4. Inny przykład - dla ochrony eeproma trzeba wyzerować (czyli...
Ten przykład nie obsługuje FAT'a ... może jest jakiś inny?(lub biblioteka)
"Tą" liczbę masz zapisaną w zmiennej Liczba_przerwan_tim0 a nie w ośmiobitowym (czego się chyba obawiałeś) rejestrze timera0 - więc nie ma problemu. Własnie tak, masz rację. Źle do tego zapisu pdszedłem. Dzięki.
jednak nie potrafię zrozumieć tego zapisu Jak przesuniesz jedynkę o 3 pola w lewo to masz wartość 8 (innymi słowy to jest *2^n). | to suma logiczna (OR) - czyli zapis (1<<3|1<<5) oznacza ustawienie jako 1 bitów 3 i 5 licząc 0:7. czyli sprawdzać czy jest wciśnięty Negacja logiczna.
TOSC1 i TOSC2 to są piny do podłączenia kwarcu, jak nie używasz kwarcu to podajesz sygnał tylko na TOSC1. ASSRn to rejestr konfiguracyjno-statusowy do Synchronization unit. Sam synchronization unit to chyba tylko prosty arbiter do komunikacji z samym licznikiem, pilnuje on żeby np zapis do licznika nie był w dokładnie tym samym momencie co inkrementacja....
Problemem może być napięcie referencyjne, jeśli nie jest odpowiednio podłączone może pływać, np. zmienić się pod obciążeniem jeśli zasilasz z niego układ czy coś tam jeszcze. Stąd różnice w pomiarach. Użyj może wewnętrznego 2,54 V , ale musisz też dzielnik zmienić, mam nadzieje że o kondensatorach jak najbliżej ATmegi nie zapomniałeś? 2) podłączenie...
atmega8 eeprom zapis zapis eeprom atmega8 atmega8 zapis eeprom
zerwana plomba schemat podłączenia włącznika światła kontrolka renault master
schemat jednokreskowy instalacji regulator napięcia prądnicy
Pioneer SX-P720 - zwarcie na taśmie Sound Image Control Zwarcie na taśmie w Pioneer SX-P720 - brak zasilania