Jesli chcesz wykorzystac sprzetowe I2C (TWI) w ATmega8 to wszystko ustawiasz za pomoca odpowiednich rejestrow. Jesli ATmega bedzie pracowala w jako SLAVE to za pomoca odpowiedniego rejestru ustawiasz jej adres. Poczytaj w doumentacji od uC.
Wszystkie Sub`y powinny być poza pętla Do Loop a tymczasem u Ciebie etykieta Silnik jest w pętli. Gosub czyli "go sub" oznacza odłożenie na stos aktualnego adresu gdzie program jest wykonywany, skok pod adres procedury Sub i powrót w to samo miejsce (a dokładniej do następnego po odłożonym adresie miejsca) poprzez Return Return zdejmuje ze stosu odłożony...
Wstałem rano z wyspaną głową i patrzę na Twój kod przy kawie. Deklarujesz 80 bajtów na adresy czujników. Start każdego adresu określasz tak, że mnożysz razy dziesięć wartość zmiennej "Zmienna" Pierwszy Dallas zajmuje więc komórki 10,11,12,13,14,15,16 i 17 Siódmy Dallas zajmuje 70,71,72,73,74,75,76 i 77 ... i tutaj zadeklarowane 80 bajtów się kończy......
Podstawowa sprawa - w drugiej linijce kodu masz napisane, że $crystal = 8000000 podczas gdy na schemacie nie masz podłaczonego żadnego kwarca. Jeśli używasz wewnętrznego oscylatora (i oczywiście masz tak ustawione FuseBit'y), to ATmega pracuje na 1MHz i taką wartość powinieneś ustawić w programie, bo nic nie będzie działać, albo będzie, ale "dziwnie"...
...uniwersalnego pilota RC5 ... Ten pilot nie jest pilotem uniwersalnym tylko pilotem o kodzie RC5 . Piloty uniwersalne pracują z różnymi kodami.
Ten artykuł ma raczej cel edukacyjny. Jednak na podstawie tej wiedzy można opracować retro komputer, np. ZX Spectrum. Każdy, kto miał do czynienia z pierwszymi 8-bitowcami na początku ery komputerowej, chyba pamięta, że budowa takiego sprzętu własnymi siłami wiązała się z poważnym problemem — koniecznością zaprogramowania pamięci ROM. Był potrzebny...
http://obrazki.elektroda.pl/5636705900_1... https://filmy.elektroda.pl/37_1378532310... Termometr mikromocowy LCD ATMEGA16 Tym razem głównym celem projektu było sprawdzenie możliwości wykonania mikromocowego systemu pomiaru temperatury w oparciu o możliwie standardowe elementy, mówiąc w skrócie byłem ciekawy czy zwykły avr może być...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
Witam Pisze własną implementację stosu TCP IP na ATmega2560 i dotarłem do pierwszej ściany... Napisałem prostą implementację UDP. Wysyłam pakiet na serwer udp napisany w Javie na PC. WireSkark pokazuje, że pakiet dociera do komputera. Numery portów i adresy się zgadzają, WireShark nie pokazuje żadnego błędu w ramce, więc kod jest chyba poprawny a mimo...
Nie myl UUID z adresem MAC. Urządzenia BLE mogą mieć stałe adresy MAC nadane przez producenta lub dynamicznie zmieniane. Smartfon przy wyszukanych urządzeniach wyświetla adres MAC lub tzw. przyjazną nazwę jeśli jest nadawana. Wewnętrzne do nawiązania połączenia używa jednak wyłącznie adresu MAC. UUID są używane do wskazania odpowiedniego serwisu, charakterystyki...
Mam 2 czujniki I2C, które osobno działają na każdej z Atmeg. Mam jeden UART, którym wysyłam dane do PC. Chciałbym zmodyfikować kod do tego stopnia abym miał jedną atmegę obsługującą oba czujniki jednocześnie. Od razu jaśniej :) Czy jeżeli kompas działa jako slave i żyro jako slave to razem też mogą być jako slave a wówczas atmega jest masterem? Teraz...
Spójrz na mapę pamięci tego kontrolera LCD, ustal adresy kolejnych wierszy i to tyle.
Zapoznaj się najpierw z zasadami adresacji na I²C, kiedy jest odczyt, kiedy jest zapis i jak to wpływa na adres. Potem sprawdź w aplikacji jakie adresy scalak obsługuje, od czego dany adres zależy, który pin odpowiada za przestawienie adresu i w końcu jaki jest rzeczywisty stan tego pinu. Bo na razie to jest wróżenie.
Powoli aż tak ciemny nie jestem ;).Pcf jest ustawiony na 160/161 kostka na 166/167 I tylko te adresy wykrywa mi programik.
Do USB ASP jest prosty, skuteczny i DARMOWY programik Khazama Programmer. Ściągnij wersję 1.62 bodajże i sprawdź na tym. Dodano po 2 Inna sprawa to kompilator bo jak rejestry mają inne adresy to wtedy nie będzie działać ale czy tak jest? Z poziomu Bascoma Atmega 32 to Atmega 32 (czy tam 16...) , nie ma znaczenia literka. One nie różnią się rejestrami....
Przejściówki USB LPT mają inne adresy niż sprzętowy port LPT, są znacznie wolniejsze bo nie otrzymują rozkazów "niemalże" bezpośrednio z procesora jak jest to w przypadku portu sprzętowego. Nie mierzyłem prędkości tych adapterów, i do końca nie daję gwarancji jaka będzie ich kompatybilność z frezarką, aczkolwiek na pewno nie jest do końca tak jak kolega...
poszukuje gotowych modulow na procku atmega, czyli procek wyswietlacz lcd klawiatura RTC EEPROM zasilacz itp.. gdzie mozna cos takiego dostac, prosze o wskazowki adresy firm itp dzieki
Tablica zadeklarowana bez słowa const zawiera zmienne. Tobie prawdopodobnie chodzi o to, że chcesz mieć w tablicy adresy zmiennych, czyli wskaźniki na zmienne. Proste - przeczytaj odpowiedni fragment odpowiedniej książki o programowaniu w C, zrozum wskaźniki, a potem pisz. Z drugiej strony - na atmega niekoniecznie to będzie sensowne. Równie dobrze...
Ta Atmega ma 2 tysiącie bajtów SRAM Kiedy zgłaszane jest jakieś przerwanie to Bascom odkłada około 30 rejestrów na stos HWstack. Kiedy wołane są jakieś procedury to na stos też odkładane są adresy powrotu z nich. Zadeklarowałeś tylko 32 bajty na stos... Spróbuj na początek zwiększyć wartości Hwstack i Framesize bo masz z czego dołożyć :D Samo granie...
Buduje dwa urzadzenia oparte na ATmega 328p. Komunikacja Bluetooth przez modul HC-05. Jak rozwiazac, problem by uklady automatycznie rozpoczely komunikacje po przerwie zasilania? Czy zastosowac podtrzymanie baterii? Czy na stale wpisac adresy mac modulow i parowac przy starcie? http://obrazki.elektroda.pl/6113087000_1...
Odłącz piny wyświetlacza 7,8,9,10 tj. adresy D0, D1, D2, D3 one powinny być nie podłaczone.
Tak, na 100% ( zerknij na fusebity ). Tak jak napisałem wcześniej dodanie zewnętrznego epromu 24c02 robi problem - pamięci podmieniałem i dalej to samo http://obrazki.elektroda.pl/6675331400_1... Dodano po 5 może źle zainicjowałem I²C ? ale przecież PCF8583 chodzi, a adresy zapisu i odczytu z epromu są wg. mnie dobrze
8 bitowe 6502 i Z80 adresowały 16bitowo, tak samo zresztą 8051 i AVR. Były '51 z 24 bitowym adresowaniem. Z kolei 32 bitowe MC68000 adresowały 24 bitowo. 32 bitowe 680EC20 też. Dopiero pełna wersja 68020 adresowała 32bitowo. "bitowość" procesora to jest w uproszczeniu jaki jest natywny typ danych (!!) przetwarzanych przez procesor. Bawi mnie określanie...
W UDA MSB jest na pozycji 7 bajtua LSB na 0, wiec odwrotnie niz jest wysylane? Nie jest odwrotnie. Atmega też ma MSB na pozycji 7 a LSB na 0.
Witam! Buduję sobie w ramach czasochłonnego hobby komputer w oparciu o Z80. Nie zagłębiając się za bardzo w temat: mam już działające układy wchodzące w skład tego komputera z diodami sygnalizującymi stan już chyba wszystkich linii Z80. Do tego zamiast pamięci przygotowałem sobie atmegę8a, która udaje pamięć. Jak to jest zrobione: w momencie pojawienia...
Jeśli planujesz urządzenie modułowe rozwiązał bym to tak : głowny moduł jakis AVR np M32 a na osobnych kartach rozszerzających AVR + latch 573 lub 574 komunikacja z głównym AVR za pomocą SPI dzieki temu masz nie ograniczone możliwosci modułow rzoszeżających ,na kartach rozszeżen zamieszczasz zwoki do konfiguracji adresowej kart tak aby było wiadomo...
Z tego co się orientuję to EEprom używa się zazwyczaj do zapisywania takich danych jak ustawienia i opcje wczytywane przy starcie "systemu", jego szybkość zapisu/odczytu jest względnie mała, i zapisując coś do EEpromu podajesz konkretny adres, więc chyba trzeba samemu kontrolować ile się ma jeszcze miejsca (jakie adresy są wolne ) .
Witam, mikroprocesor Atmega 8A odczytuje błędne dane z czujnika temperatury MLX90614 wersja 5V Sprawdzone rzeczy: -ciągłość połączeń -napięcie pomiędzy nóżkami zasilania -nowy mikrokontroler -definiowanie innych wejść sda i scl w atmedze - różne adresy zapisu i odczytu zapisu:&B00000000, &H5A odczytu:&B00000001 &H5B -różne napięcia podciągające schematy...
Jak to zwykle na początku bywa warto ściągnąć jakiś kurs. Polecam też książkę Dolińskiego "Mikrokontrolery AVR w praktyce" (przede wszystkim bardzo dobrze opisane komendy assemblera wraz z przykładami) - przykłady są na 90S2313, ale maja 90% wspólnego z wyższymi wesjami. Ostatnio wyszła nowa książka "Mikrokontrolery ATmega w praktyce" czy jakoś tak...
Witam. Mam problem z ta pamiecia. Mecze sie juz dwa dni i nic. Podlaczylem ja na jednej magistrali z PCF8583 (RTC) i ADS1100 (ADC) do uP Atmega 8. Zegar i przetwornik chodza bez problemu. Narazie uzywam programowej obslugi I2C w AVRGCC z biblioteki RKlibAVR... Pin A0 pamieci mam podlaczony do masy wiec adres pamieci na magistrali to 101000px, x=1(odczyt),...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Witam! Mam problem z zaprogramowaniem kości 24c32. Jest ona podłączona do atmegi8 do lini sda i scl. Pozostałe linie eepromu są: a0, a1, a2, wp, vss do masy i vcc do plusa. Atmega odczytuje tylko 255 więc komunikacja chyba jest ale oczywiście pamięć pusta, a gdy próbuje coś wpisać to to samo.. Przykładowy program: 'początek i2cstart i2cwbyte 160 'adres...
Właśnie siedze nad podobnym programem tylko na ATMEGA 32 Ma to być notesik słówek zapisywanych w pamięcie EEPROM 24c64. Można to zrobić przechowując adresy początku słówka lub mniej oszczednie założyć, że słówko ma np. 15 liter i nie ma problemu z adresem słówek. Pozdrawiam PS. Ja wybrałem pierwszą opcje. Mój program narazie odczytuje tekst z kompa...
Memory type: sram Name: .xram Address: 0x800460 W pomocy zresztą jest napisane. Program taki sam jak w moim poście powyżej, tj. dodaje do opcji linkera taką linię: LDFLAGS += -Wl,-section-start=.xram=0x800460 Niestety AVRStudio uparcie nie chce wygenerować listingu, a symulator się zawiesza, więc nie za bardzo mam jak sprawdzić. Mogłem zajrzeć tylko...
rpal - kontekst z SDRAM dotyczył ATXMega, nie ATMega8. tomek_programista - tak, XMega obsługuje SDRAMy, przy czym tylko do 16MB. Co jak na 8-bitowy procesorek to też niezły overkill. Poszukaj w necie, widziałem projekt gry video na ATMega, ze schematami i wszystkim. Co do mocy obliczneiowej - jeśli cały obraz będziesz generował programowo to istotnie...
W sad z AT90s2313 na ATtiny2313 może nie iść, ponieważ procki te mają inne adresy dla niektórych rejestrów. Także kompilacja musi uwzględniać właśnie ten procesor a nie inny. Miałem taką samą przewałkę pomiędzy ATmega 16 i 32 niby prawie takie same ale program nie leciał.
http://obrazki.elektroda.pl/6850537700_1... Witam. Posiadam czujkę dymu i ciepła Hekatron MTD 533X. Czujka komunikuje się z centralą prawdopodobnie za pomocą protokołu 1wire ponieważ do czujki podlaczone są tylko 2 przewody- masa i zasilanie(+)przewód spełniający również funkcję komunikacji- transmisji danych. Każda czujka posuada również...
Wszystko masz w temacie oraz w changelogu w paczce z plikami. Program z czasem rósł aż w końcu zabrakło pamięci na nazwy układów i nie są one wysyłane. W pamięci są zawarte dane dla ponad 100 procesorów oraz sporo kodu do obsługi obydwu typów programowania - hvsp oraz hvpp. Przy okazji, jeden z użytkowników odkrył błąd w programie próbując naprawić...
Chciałbym kontynuować temat związany z termometrem. Wiem z opisu układu nRF24L01, że jeden układ w roli odbiornika może odbierać sygnał z 6 nadajników, taka informacja jest na stronie 35 na dziesiątem rysunku. Oczywiście należy skonfigurować adresy nadajników. W moim wypadku były by dwa nadajniki. Na stronie 37 są już wypisane konkretne adresy czy tych...
Rozrzutność?! Ja myślałem, że to jeden z najtańszych sklepów internetowych! Przynajmnije tak było do tej pory, to co juz widziałem. Mógłbyś podać adresy swoich sklepów. Chyba, że to nie będzie koniecznie, bo mnie chodzi o detaliczny zakup. Procek ATmega 162, pamięć statyczna Samsung 512kBx8, przetwornica DC/DC 5V/5V, i takie tam jeszcze paści jak 74HC373,...
Adresy układów PCF mozna łatwo ustalić: układ 8574 ma taką strukturę adresu: MSB LSB L H L L A2 A1 A0 R/W gdzie R/W to stan wysoki dla R (read) i stan niski dla W (write), natomiast A2-A0 to nóżki na układzie, czyli można połączyć 8 układów jednego rodzaju. A w układzie ze znaczkiem A zmienia się poczatkowy człon z LHLL na LHHH a reszta jest tak samo....
Gdybyś napisał od razu, że atmega ma być tylko konfiguratorem, a obróbką danych zajmuje się SAA7706, to uniknęlibyśmy nieporozumienia. Nigdzie nie napisałem, że atmega nie nadaje się do I2C. Pisałem o I2S. L3 to jest zupełnie inny interfejs niż I2C. Jeżeli nie masz zamiaru ciąć ścieżek na płytce, to zapomnij o L3. Poza tym I2C działa bez problemów,...
Witam Są Arduino na 3,3V , mam takowe, chyba nazywają się Arduino Pro Mini. 5V na Uno wymusza zastosowanie kwarcu 16MHz, przy tej częstotliwości Atmega nie wyrabia z zasilaniem 3,3V, w wersji 3,3V jest kwarc 8MHz. Drugie przekłamanie to brak w tabelce złącza I2C w Arduino Uno, jak żywo w moim jest i używam wyświetlacza z tym złączem, a I2C Scanner znajduje...
Witam ponownie Poprawiłem to zapisywanie do expanderów, troszkę lektury HELP-a i doszedłem do: deklaracja: Declare Sub Pcf_zap(byval Kosc As Byte , Byval Ex As Byte) a tu podprogram: 'podprogram obslugi ukladow PCF8574 Sub Pcf_zap(byval Kosc As Byte , Byval Ex As Byte) I2cstart I2cwbyte Kosc I2cwbyte Ex I2cstop Return End Sub i jego...
Sterowałem taki wyświetlacz za pomocą Atmega8. Znalazłem program pisany w baskomie pod atmega 128 i podłaczenie do procka. Przerobiłem trochę program tylko zmieniłem nazwy portów i podłączyłem wyswietlacz do portu d w atmedze 8. Podaję Ci adresy stron na których znajdziesz coś o sterowaniu tego wyswietlacza. http://maxparadys.w.interia.pl/LPH7779_c...
witam, tak opcja 40 KHZ jest oczywiscie opcją na zarżniecie procka ale w programie zada sie odczyt tych 16 wartosc co sekunde co znakomicie odciąża główną petlę programu :) ale pytanie zasadnicze te zmierzone wartosci to beda chwilowe i nie da sie tu odczytac wartosci sredniej odpowiadajacej "prawdzie" na oscyloskopie łatwo widać przebieg i mozna interpolowac...
Jak mam sprawdzić od jakiego adresu zaczyna się pamięć. Po wpisaniu komendy AT+CPMS="ME" lub AT+CPMS="me" efekt jest taki sam. (Ponieważ wykorzystuję to do odbioru wiadomości z telefonu.) Telefon po wpisaniu jednej z tych komend odpowiada: +CPMS: 1,70,0,30,1,70 OK Czy warości które mi zwrócił odzwierciedlają adresy pamięci telefonu.? Może ktoś już spotkał...
Witam, mam problem z odczytem poprawnym temperatury. Niestety nie znalazłem tematu, który by pasował do mojego problemu. Atmega odczytuje poprawnie adresy czujników po czym odczytuje mi na wszystkich jednakową temperaturę (85*C). Czujniki podłączone są równolegle do jednego portu z podpiętym rezystorem podciągającym 4,7k pomiędzy DQ a VCC 5V. Nie mam...
witam Nie wiem czy juz ktos pisal o tym - nie czytalem postów wiec z gory sorry Ja zrobilem sobie to na atmega 8 - 2 sztuki i gotowe odbiornik na 36kHz, dioda IR tranzystor do wzmocnienia (jako kluczujacy) i po klopocie comendy i adresy sam wybierasz nic ci sie nie zakluca od innych urzadzen reagujacych na podczerwien. P.S. kilka linijek kodu w bascomie...
Jako master TWI to on z pewnością nie działa - w nocie masz podane jego adresy do odczytu i zapisu. Weź też pod uwagę że jeśli masz ten szeregowy rezystor 200R to zmienia to istotnie podciąganie na TWI, bo tworzy się dzielnik z pull upem, w efekcie możesz mieć za wysoko stan 0. dondu - jak piszesz to pisz chociaż na temat, bo to zaczyna przypominać...
Wiem też nad FPGA myślałem ale przeraża mnie i to konkretnie;) Nie wiem nawet jak się za to wziąć:) a co do SRAM to miałem pomysł aby adresy jakimś licznikiem TTL wyzwalanie na bramkach itd:) jak w głowie nad tym myślałem to się to takie skomplikowane nie wydawało no i potem to z czytywać po zakończeniu cyklu zapełniania całej pamięci jakimś uC. RAMu...
Zapisywanie pod adresy pinów IO rzeczywiście nic nie da,bo funkcja danego pinu portu jest blokowana przez timer, a on nie korzysta z przerzutnika wyjąciowego portu IO. Spróbuj po ustawieniu żądanych parametrów trybu CTC (wartości compare match) wywołać na jednym pinie zdarzenie compare match programowo - poprzez zapis do FOC1A/FOC1B. To powoduje, że...
Witam,sprawa jest taka,otóż na przykładzie Atmegi 8 (albo i nawet pamięci flash) chciałbym żebyscie przybliżyli mi sprawę programowania mikroukładów,szczególnie chodzi mi o te w samochodach,czyli ETL,Motora HC, TMS ale to później. Nie chodzi mi o to jak podłączyć atmege do Isp Programmera!!!:) Chodzi mi o to,abym mógł za pomocą np. Data sheetów i innych...
Wielkie dzięki. Na razie mało mi to mówi ale posiedzę nad tym. Adresy do pingu może być np 3, 2 IP zewnętrzne np onet i wp a jeden wewnętrzny do weryfikacji połączenia. I było by tak, że Atmega wysyła rozkaz sprawdzenia jednego, otrzyma błąd, drugiego, otrzyma błąd, sprawdza wewnętrzny - otrzyma błąd - restart systemu. Jak przy wewnętrznym otrzyma ok...
Jeżeli chodzi o CSTACK i RSTACK to sie tylko mogę domyślać że: CSTACK służy do wymiany parametrów pomiędzy funkcjami (i nie tylko, także do lokalnego tymczasowego przechowywania przez funkcję danych) a RSTACK zapamiętuje zwrotne adresy przy wywoływaniu funkcji. Oprócz tych dwóch stosów mamy jeszcze trzeci, sprzętowy podstawowy stos procesora ten który...
Witam, Sprawa jest prosta przy obsłudze, nazwijmy to, zwykłej wiadomości, która powoduje aktualizację danych Slave'a na liście Mastera. Jednak, gdy zgłasza się nowy Slave to użytkownik dostaje zapytanie o dodanie go do listy, skonfigurowanie itp a przecież w tym czasie moga nadchodzić nowe wiadomości. Program powinien być napisany współbieżnie czyli...
Oki pomylilem sie chodzilo mi o pin WP czyli write protect. Jest tez jeden problem otoz programem do zczytywania adresow magistrali odczytywal mi kilka adresow a nie jeden jak pin A2 wisial w powietrzu a po podpieciu go do plusa adres zmienial sie na jeden 168. Wczesniej zczytal mi adresy 160, 162, 164, 166, jednak adres 162 gryzlby sie z adresem PCF8583....
Witam kolegów Chciałem sobie zrobić moduł do przedwzmacniacza na TDA7439DS sterowany np przez Atmega lub inny mikrokontroler jako ze z pierwsza wersja mi chyba coś nie wyszła bo na wyjściu audio z TDA7439 mam 3.20V a tak chyba nie powinno być ? Chciałem prosić o pomoc przy moim module bardziej doświadczonych kolegów dodam ze adresy TDA znajduje bezproblemowo...
Karty Compact Flash w trybie podstawowym pracują w standardzie interfejsu PCMCIA, czyli funkcjonują jak dysk. Istnieje możliwość ustawienia interfejsu w standardzie szyny pamięciowej i wtedy karta ta będzie funkcjonowała tak, jak normalna kość pamięci. Jest tylko jeden problem - trzeba się przedrzeć przez PDF-a i zbudować prosty interfejs ustawiający...
dzięki! to, że biblioteki są płatne to wiem ale można zainwestować pod warunkiem, że się do tego przydadzą:-) Problem w tym, że te urządzenia nie są naszej produkcji-chcemy je tylko rozbudować. Niestety nie mam kodu źródłowego oprogramowania więc mogę jedynie "dopiąć" do magistrali atmegę z niezleżnym oprogramowaniem. Nie chcę w żaden sposób ingerować...
trzy avry w bascomie jeden master dwa slavy dwa attiny 2313 i jeden atmega 8515 Zrobiłem w atmedze 8515 $regfile = "m8515.dat" $crystal = 16000000 Config Lcdpin = Pin , Db4 = Porta.1 , Db5 = Porta.5 , Db6 = Porta.4 , Db7 = Porta.3 , E = Porta.2 , Rs = Porta.0 'konfiguracja sprzŕtowa I2C Config Spi = Hard , Master = Yes Dim Sx As Byte dim a as byte config...
Witam Kilka dni temu mialem podobny problem, tyle ze wyswietlacz podlaczony do ATMEGA w obszarze pamieci zewnetrznej jako 8 bit. Sprawdz, czy masz wystarczajaco duze opoznienia przy dostepie do wyswietlacza. U mnie byly zbyt male i wyswietlacz wyswietlal glupoty. Komendy czyszczenia wyswietlacza i powrotu kursora na pozycje 0,0 trwaja troszke ponad...
Z tymi napięciami to wcześniej zapoznałem się ze specyfikacją producenta. Według niej maksymalne napięcie zasilające wynosi 3,6V. Maksymalne napięcie wejściowe wynosi 5,25V, ale dla napięć wejściowych powyżej 3,6V napięcie zasilania nie może być wyższe jak 3.3V. Układy NRF zasilam napięciem 3.3V dokładnie. Nie obawiam się raczej ich uszkodzenia. Gdyby...
Program na GLCD skleiłem z dwóch bibliotek - I2C Slave TMF (pierwsza książka) oraz obsługa wyświetlacza autorstwa "SunRivera" udostępnionej przez niego na Dropie. Podejrzewam, że mogłem coś namieszać w I2C - biblioteka była pisana na Atmega 88, ja skompilowałem ją na Atmega32. Kompilator protestował przeciwko obecności rejestru "TWAMR", którego 32 nie...
Witam , mam nadzieję iż nie zanudziłem bez reszty.. W zestawieniu z moimi "dokonaniami asm." kolega michalko12, jest najbliższy temu co ja kiedyś robiłem . Oto wersja asm z przełącznikiem kompilacji aby kompilować jako samodzielny plik - kto chce ->ten może :D ( ta wersja to 16-timerów, 16-nasto bitowych, każdy cztery tryby konfiguracji, oczywiście...
Jakiś czas temu trafiłem na stronę www.whiteelectronics.pl której autor jest polskim dystrybutorem budżetowych paneli operatorskich DGUS. Z ciekawości nabyłem jeden z tych wyświetlaczy ( Aby moja biblioteka była jak najbardziej przyjazna postanowiłem, że: - umieszczona będzie w niej jedna zmienna określająca ilość zmiennych jaką wymieniamy się z panelem,...
Kod jest dość spory więc wkleję najważniejsze fragmenty odpowiedzialne za RC5 ,SD i 1Wire. RC5 '***************************************... '****************************PROCEDURA ODCZYTU RC5**************************** '***************************************... Readir: Disable...
Przepraszam że podepnę się do tematu ale także walczę z RS485. I to walczę dobre kilka miesięcy! A zatem moje pytania: 1.Rozumiem że terminator muszę umieścić na początku i końcu mojej linii rs485 ? 2.Rezystory podciągające linie A i B muszą być przy każdym istniejącym module w sieci? 3.Rezystor podciągający RX do VCC musi znajdować się w każdym module?...
Jest to wg projektu z EdW: ////////////////////////////////////////... // harddef.h - definicja sprzętu dla programu testującego możliwości wyświetlacza z noki3310 // przeznaczenie: "Programowanie procesorów w języku C (EdW)" // ////////////////////////////////////////...
to powinno pomóc - zwraca adres początku tablicy https://avrhelp.mcselec.com/index.html?l...
chyba w AVRach w takim razie w adresie ostatnia cyfra 0 oznacza ramkę "write", a ostatnia cyfra 1 oznacza "read", czyli adres 0x62 w nocie SCD41 oznacza 0xC4 dla nadawania i 0xC5 dla odbioru Nie w AVR tylko ogólnie w I2C. Najmniej znaczący bit określa typ operacji zapis/odczyt. 7 bardziej znaczących bitów to adres urządzenia. Autorzy not urządzeń I2C...
IDU200 jest problematyczne przy przekierowaniu portów. Ustaw w DMZ adres IP tego urządzenia z procesorem Atmega i sprawdź.
Tak ponieważ plik hex to plik tekstowy zawierający adresy pamięci, reprezentacje tekstową bajtów w hexie oraz sumę kontrolną na końcu każdej linii. Porównaj sobie np. pierwszą linię otwartego pliku bin w jakimś dowolnym hexedytorze oraz linię pliku hex to zrozumiesz. A więc Twój plik wynikowy nie przekracza 128kb, bo ma 116kb i tyle będzie go we flashu
Najbardziej efektywnie jest użyć jednej kości SDRAM podłączonej do MCU zawierającego zintegrowany kontroler pamięci SDRAM. Weź pod uwagę, że potrzebujesz 12 bitów adresu wiersza i 10 bitów adresu kolumny. Atmega jest 8-bitowa, więc adres wiersza wystawiasz w 2 operacjach (8+4, 6+6, 4+8, czy jak tam chcesz), a to trwa. Zapisanie pierwszego rejestru adresowego...
Dane do zapisania do pamięci FLASH wydobywa się ze skompilowanego pliku ELF, przy pomocy avr-objcopy , zarówno dla pliku HEX i binarnego. Makefile wygenerowany przez MS7 zwiera taki wpis: ihex na binary : [syntax=text]"...\avr-objcopy.exe" -O binary -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "test1.elf" "test1.bin" [/syntax] Ale...
Zapisując do UCRSC musisz ustawiać najwyższy bit (URSEL) - UCRSC oraz UBRRH zajmują ten sam adres, to do którego dane trafią zależy właśnie od wartości najwyższego bitu podczas wpisywania.
To zamiast nazw funkcji umieść w pliku ich adresy w pamięci FLASH MCU. Tego typu plik możesz stworzyć automatycznie wyciągając ofsety z pliku elf lub map. Mając adres tworzysz wskaźnik na funkcję i przy jego pomocy ją wywołujesz.
(at)Eagle , NO-IP to właśnie DDNS, też używam ;) I słuszna uwaga - może cały problem (at)adambehnke polega na braku przekierowania portów w routerze na adres IP urządzenia w sieci lokalnej?
To są zwykłe stałe zapisane w jakimś pliku, Przy instalacji AVRstudio jest to plik m32def.inc. Pod tymi stałymi są adresy które znajdziesz w datenblacie. A skąd wiadomo jakiej nazwy użyć? Zaglądasz do pliku z definicjami stałych już wiesz:)
Organizacja pamięci programu (flash) jest w słowach - 2 bajty, stąd kolejne adresy np 101 102 103 tak naprawdę przeskakują co 2 bajty. Wektory przerwań używają rozkazu jmp (nigdy rjmp) rozkaz jmp składa się z 2 słow czyli 4 bajtów. Powyższe nie dotyczy pamięci statycznej RAM - tam jest organizacja 1 bajtowa.
Nie, nie ma stałego adresu, adres ustalasz sam, byle by nie był taki jak innych urządzeń. Poszukaj w helpie tego BASCOM-a z tego co pamiętam były tam przykłady programów.
Za pomocą jakich instrukcji w assemblerze mogę zapisywać coś do rejestrów R0-R15 ? Masz na myśli zastąpienie załadowania bezpośrednich wartości np. ldi / cbr / sbr r0, 0xD5 (nie istnieją !) ? Jest tego trochę ;) (na przykładzie r0 , r16 i wartości 0xD5 ): ldi r16, 0xD5 mov r0, r16 ldi r16, 0xD5 push r16 pop r0 Można także zatrudnić w/g własnej pomysłowości...
Witam, pracuje nad małym systemem modułowym do sterowania w domu. Na ten moment mam : -klawiaturę Matrix do wpisywania kodu do drzwi (atmega88pa) -manipulator do temperatury (atmega164pa) -czujnik temperatury (attiny84a) Zamówiłem wszsystkie części i własny projekt płytek pcb. Klawiatura działa bez żadnego problemu, program wgrywa się i działa w 100%...
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.
Co najwyżej nie będzie działać - nic nie popsujesz w sensie nie spali się ATMega. Porównaj adresy rejestrów i będziesz widział różnice.
A jak tam sprawa sie ma z fuse bitem atmegi103? Nie wiem czy on moze miec znaczenie ale lepiej go wylaczyc ;) Na pewno ten fusebit jest przyczyną - kod się wykonuje ponieważ pin jest konfigurowany jako wyjście, ale wywołania funkcji (waitms) powodują zawieszanie się lub reset, gdyż pamięć kończy się na adresie 0xFFF (m103) podczas gdy kompilator zakłada,...
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....
c) chodzi dokładnie o to co napisałeć, plus dodatkowo - skoro napisali w treści, że to call jest pod adresem 0x100 to zapewne autor oczekuje jeszcze, aby napisać jaka wartość znajdzie się na stosie. Tu mały problem w AVR - przestrzeń FLASH adresowana jest w słowach, więc adresy bajtowe trzeba pomnożyć razy 2. c) i d) można się jeszcze zastanowić o ile...
Witam i gratuluje projektu. Mam pytanie odnośnie realizacji samego sposobu nadawania. Powiedzmy, że mam parę urządzeń o adresach 0, 100, 200, 300, 400, oraz 500. Czy przy zaadresowaniu tych urządzeń atmega będzie nadawać puste ramki pomiędzy poszczególnymi adresami, czy też jest konkretnie adresowane finalne urządzenie ? Jakiś czas temu popełniłem sobie...
Może dobrą praktyką byłoby zamieszczanie oprócz zdjęć i wsadów również adresów stron z których zostały pobrane
Proszę o informacje, gdzie w nocie katalogowej można znaleźć informacje na temat priorytetów wykonywania przerwań, jeżeli wystąpią w tym samym czasie. Nie można, ale ten co ma niższy adres w tablicy wektorów wykona się pierwszy jak przyjdą w tym samym czasie. Co najwyżej możesz właczyć przerwania na początku obsługi aby umożliwić obsługę kolejnych...
Witam Wg mnie to pętla for która indeksuje rejestr "biegnie" cały czas niezależnie czy coś nacisnąłeś czy nie i zwiększa adres stąd błędna kolejność (tak naprawdę to losowy adres zapisu) i "puste miejsca". Proponowałbym zwiększać adres po zapisie do tablicy wciśniętego przycisku oraz dodać if`a sprawdzającego przekroczenie adresu 8. np. if(porzycisk)...
W twoim main brak jest na koncu petli i procesor sie resetuje. Po drugie jeli korzystasz z przerwan to musisz zdeklarowac ile bajtow jest do wyslania np. w sposob w jaki pokazalem w swoim kodzie. NAQ tym to polega wskazujesz skad wyslac dane(bufor), w jakiej ilosci i procesor zajmuje sie czyms innym np. kolejnymi obliczeniami nie martwiac sie o obsluge...
To nie skok zajmuje stos tylko wywołanie podprogramu. I uC nie zapamiętuje stanu rejestrów ale adres powrotu.
dokładnie taką mam pamieć ,i widzę A2 :> To zmienia postać rzeczy i to jest ta dobra wiadomość ;) Natomiast zła wiadomość - nie będą działały na 1 magistrali , ponieważ: 24c16 jest widziana na I2C , jako 8 odrębnych urządzeń o adresach dla zapisu - A0,A2,A4,A6,A8,AA,AC,AE i tą sama przestrzeń adresową można tylko wybrać dla FM24c256.I teraz albo 2...
Te dodatkowe bajty po 3 bajtach sygnatury i bajcie kalibracji to bajty Serial Number inaczej (unique device ID). Można je odczytać podczas czytania sygnatury lub np. z poziomu programu odczytując adresy I/O 0xF0 - 0xF8 (SNOBRx)
mozna tez recznie, w symulatorze jeśli chodzi o AVRStudio to zajętość Ramu w dowolnym punkcie programu oblicza się poprzez sumowanie (.sekcji data + .bss + .noinit) oraz wskaźnika stosu SP(liczonego w kierunku malejących adresów)?Co z obszarem "heap"?
0x60 to adres podawany bez najmłodszego bitu RW. Po dodaniu bitu RW otrzymujesz adresy: 0xC0 - zapis 0xC1 - odczyt Pamiętaj, że zanim zaczniesz czytać przydałoby sie podać adres od jakiego chcesz zacząć odczyt. Inaczej przy każdym wywołaniu Twoja procedura będzie czytać dane z innego obszaru.
Prościej jednak będzie poszukać EEPROM-u innego producenta, który będzie miał inny adres. albo 24C64 lub wyższą która jest zdecydowanie łatwiejsza w obsłudze bo nie ma stron i pracuje na 1 adresie (1 parze adresów)
W ATmega... jedyne sensowny reset jest przez watchdoga poniweaż sam skok pod adres 0x0000 jest błędny gdyż te procki mają różne adresy RESET zależne od ustawienia fusesbit.
modbus adresy adresy podsieci adresy kamer
sprawność agregat odbieranie danych bluetooth amica sprawdzić aquastop zmywarki
opornik wodny termet silver filtr
RS-987 vs RS-985 DC Motor Differences: Power, Voltage, Applications, Brands Zamiana przekaźników w samochodzie - ryzyko uszkodzeń