to powinno pomóc - zwraca adres początku tablicy https://avrhelp.mcselec.com/index.html?l...
wychodzi na to, że Atmega 16 z jakiegoś powodu przekręca nadawany adres Jak się nie czyta dokumentacji tylko przegląda po łebkach - to tak to jest. Jak wysyłasz adres to bit 0 w TWDR jest bitem kierunku a bity 1-7 to adres. Twój adres EEPROM jest już 8 bitowy :) bo tak to producent w DSie zrobił (uwzględnił to że bit 0 jest kierunkiem) https://obrazki.elektroda.pl/1310316600_...
IDU200 jest problematyczne przy przekierowaniu portów. Ustaw w DMZ adres IP tego urządzenia z procesorem Atmega i sprawdź.
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...
Jeżeli te pamięci nie obsługują trybu zapisu/odczytu sekwencyjnego, to można pozamieniać. W przypadku pamięci np. SDRAM nie można by tego zrobić. Ja niestety tak zrobiłem i później płytka wyglądała tak: http://www.elektroda.pl/rtvforum/viewtop...
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.
nie wiem jak codevision ale w gcc chyba nie da sie tak nisko zejsc zeby wybierac tryb adresowania w instrukcjach, to juz kompilator wybiera sobie , w kodzie mozna sobie tylko napisac cos w stylu: a = *wsk++; *(--wsk) = a; i miec nadziej ze skompiluje sie tak jak chcemy lub gdzie potrzeba szybkiej procedury to w asmie napisac. Ja tam pamiec wewn/zewn...
Dobra już mam tego doka :) A te wyświetlacze będziesz multipleksował ? Ile ich będziesz podłączał ? One mają wspólne katody, anody ?
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...
Np. poprzez wskaźnik. [syntax=c]uint8_t * const extspace = (uint8_t*)(0x2200); extspace[0] = 123;[/syntax]
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...
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.
cytat z dokumentacji atmega162: Since the external memory is mapped after the internal memory as shown in Figure 11, the external memory is not addressed when addressing the first 1,280 bytes of data space. It may appear that the first 1,280 bytes of the external memory are inaccessible (external memory addresses 0x0000 to 0x04FF). However, when connecting...
(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?
__flash adresuje w obrębie pierwszych 64 kB, __flash1 w obrębie kolejnych 64 kB itd. Operator (at) pobiera prawidłowy 24-bitowy adres, stąd nie ma już potrzeby korzystania z makra GET_FAR_ADDRESS. Położenie danych w pamięci można zmieniać ręcznie przesuwając sekcje, lub przez zmianę skryptu linkera. Należy jednak pamiętać, że __flash "zawija" się na...
Dzięki za odpowiedzi, taki czas jest dla mnie idealny, nawet "potrojony" mnie zadowala :) Teraz pytania bardziej konkretne. Wstępnie będzie to Atmega128, pamięć typu 628512 podłączona zgodnie z helpem bascoma. Wg. dokumentacji, mogę "sprzętowo" obsłużyć 64kb, czy przejdzie taki myk, by podzielić 512kB SRAM na 8 banków i sterując je adresami A16-A18...
A ustawienia portu w panelu sterowania? Ustala się tam maksymalną prędkość - domyślnie ustawiona na 9600. AVR910 - http://radzio.dxp.pl/avr910.htm Nigdy nie robiłem, ale z wyglądu przypomina ten, którego używa mój kolega. I wszystko działa. Masz problem tylko w tym maxem? Czy coś jeszcze?
https://obrazki.elektroda.pl/4876342900_... Witam Chcę w projekcie budowy ulepszonej wersji karty Sound Blaster 1.0 - obsługa min. MP3 - dodać bufor danych w pamięci DRAM . W roli kontrolera pracować będzie Atmega 16. Adres będę generował w 4 bit kodzie BCD i dekodował na dwóch SN74LS47 , chcę obsługiwać standardowe SIMM 72 pin o pojemności...
Czyli to jest zwykly buffor? Program ktory stworzylem i jest w postaci *.hex ladowany jest tylko do uP a po odpaleniu programu dopiero dane urzyte laduja cie do SRAMU? Co to znaczy bufor? Kolega pisał o buforowaniu danych, a nie o wciąganiu programu do tej pamięci. Pamięć zewnętrzna w procesorach ATMEGA jest wyłącznie pamięcią danych i jest przedłużeniem...
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.
Polecam lm75 - ma 3 bitowy adres (8 układów na jednej magistrali), programowane parametry: rozdzielczość, alarm przekroczenia parametru, histereza. Niska cena. Oczywiście trzeba się liczyć z parametrami elektrycznymi I2C.
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)
To nie skok zajmuje stos tylko wywołanie podprogramu. I uC nie zapamiętuje stanu rejestrów ale adres powrotu.
Zanim zaczniesz używać asemblera wypadałoby poczytać trochę o tych komendach, co one oznaczają i jak ich używać. Jeżeli używasz assemblera jako wstawki w C, to mnemoniki typu MCUSR nic kompilatorowi nie mówią - musisz używać adresów. Z kolei komenda LDn ma z kilkanaście swoich wersji i powinieneś sprawdzić którą używasz i dlaczego. Jeśli już ładujesz...
Tak, może się tak zdarzyć, przy niestabilnym zasilaniu. Dlatego zawsze włączaj BOD oraz zmieniaj zawartość rejestrów EEADR na adres nieużywanej komórki EEPROM.
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.
Widzę u Ciebie duże przywiązanie do Atmela, więc możesz wziąć jakiegoś ARMa i na nim zbudować układ realizujący założoną funkcję. Na przykład [url=http://www.atmel.com/devices/SAM3S4... Zaletą tego modelu jest przyjemna obudowa. Wadą jest brak możliwości pracy z zewnętrzną pamięcią S(D)RAM. Jeżeli przylutujesz TQFP44 czy 48, to tak samo idzie...
Może dobrą praktyką byłoby zamieszczanie oprócz zdjęć i wsadów również adresów stron z których zostały pobrane
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.
Datasheet mają wspólny. ...i jest w nim rozdział: Comparison Between ATmega48, ATmega88, and ATmega168 . Dodatkowo proponuję zwrócić uwagę na listę instrukcji, bo niektóre są dostępne tylko w ATmega168 (np. JMP). Przykładowo, mam aktualnie ATmegę168, chcę wgrać program z ATmegi88. Biorąc pod uwagę, że wektory przerwań mają inne rozmiary, raczej wątpliwe,...
W nocie do atmegi i prawie każdego urządzenia na i2c masz napisane jak to zrobić. Urządzenia się wpina szeregowo i wysyła komunikaty na unikalny dla każdego urządzenia adres.
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.
W BLE w celu nawiązania trzeba podać adres MAC nie nazwę. Potem podobnie jak w przykładzie do jakiego podałem link trzeba pobrać uchwyt do odpowiedniej charakterystyki i zapisać wartość.
Fajnie, że się podzieliłeś kodem źródłowym :) Napisz do mnie z adresem po upominek :)
Po pierwsze między tytułem a opisem jest chyba nieścisłość. Arduino Nano używa Atmega328P. Natomist Atmega328PB jest nowsza i ma na przykład dwie magistrale TWI(I2C) jak też dwa USART i SPI. Tam się wtedy rejestry trochę inaczej nazywają (zazwyczaj końcówka 0 i 1). Tak jak pisał przedmówca najlepiej użyć podciągania rezystorami, ale od biedy działa...
Problem jest tez inny. Nie wiesz jakie są statusy w poprzednich operacjach - zrób to bardziej wyrafinowanie. Czyli jak zrobisz start to sprawdź czy slave odpowieział ACK itd itd - wszystkie kody masz w DS-ie atmegi (TWSR). Możesz też źle obsługiwać tego mems-a.
Dlatego, że kiedy powstawał modbus nikt nie myślał o rozwiązaniu jakim jest MPCM, co nie znaczy, że nie da się go zaadaptować. Nie wszystkie procki mają też ten tryb zaimplementowany. Od strony RPi musisz do nadawanej ramki danych dodać bit parzystości/nieparzystości i wykorzystać go do nadawania ramki danych/adresu.
Mam zamiar zrobić sobie coś w rodzaju sieci. Atmega ma być głównym kontrolerem, który będzie kierował pracą podzespołów. Mikrokontroler będzie wysyłał kod binarny w którym bedzie zawarty adres urządzenia i rozkaz do wykonania. sygnał chce zeby wyglądał następująco: 1 bit - bit startu 2-5 bit - adres (16 adresów) 6-9 bit - rozkaz (16 rozkazów) Atmega...
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"?
W jednej ramce nagłówek znaczący początek, potem adres i dalej dane.
Witam. Potrzebne są mi wszystkie adresy i komendy poszczególnych klawiszy uniwersalnego pilota RC5 zakupionego na alledrogo, takiego jak na rysunku: http://obrazki.elektroda.pl/3062575200_1... Cel jest prosty- sterowanie moja atmega przy pomocy tego pilota. Wielkie dzięki za pomoc :)) Dodano po 26 znalazłem: http://lirc.sourceforge.net/remotes/rc-5...
1. Do których linii i w jaki sposób są podłączone przycisk i dioda? Schemat! 2. Masz dwa proste błędy - w ATmega rezystory podciągające wejścia włącza się poprzez ustawienie linii portu jako wejścia ORAZ zapis jedynki do rejestru PORTx, czyli: DDRB=0x00; PORTB=0xFF; No i sprawdzanie wciśnięcia przycisku: pojedynczy & zamiast podwójnego! 3. Nieprawdziwych...
Polecam szukanie adresu urządzenia peryferyjnego zacząć od przeczytania noty katalogowej... A jak masz port szeregowy podłączony do komputera?
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...
Po pierwsze - czy ustawiłeś prawidłowo fusebity, aby procesor pracował na zewnętrznym oscylatorze? Po drugie - w karcie katalogowej jest informacja, że rejestr UBRRH i UCSRR znajdują się pod tym samym adresem, więc instrukcją UCSRC|=_BV(UCSZ1)|_BV(UCSZ0&... wpisujesz tak naprawdę wartość do rejestru UBRRH! Aby wpisać ilość bitów danych...
Na pierwszy rzut oka I2cwbyte 15 'rejestr timera wg mnie adres to 7.
Dondu, Zasilanie to dwa niezależne zwykłe zasilacze o wydajności 1,2A 12V, i 2A 5V. Program jest bardzo prosty i nie szukałbym w nim problemu. ULN2803 ma diodę zwierającą również przekaźniki. Oczywiście mogę zastosować diody do każdego przekaźnika tylko zastanawiam się czy jest sens. Saabotaz, Spróbuje wieczorem Twoich pomysłów ale atmega się nie restartuje...
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)...
Cześć. Jestem w trakcie budowy prototypu wielokanałowego układu sterującego (włącz wyłącz). Wybór padł na HT12E jako nadajnik i kilka HT12D jako odbiorniki. Transmisja będzie przewodowa (sygnał i masa) Układ z noty (jeden nadajnik - jeden odbiornik) działa prawidlowo, ale spotykam się z różnymi wartościami rezystorów R Osc. W jednym schemacie (w sieci)...
Hm.. wiem co masz na myśli odnośnie adresowania, ale tu chyba nie tędy droga. Po wyglądzie płytki nie wywróżę czy pin od adresowania alternatywnego jest uziemiony, czy podłączony pod 3.3V. Nie sprawdzę tego. Producent nie ujawnia żadnego schematu, ani informacji o adresowaniu :/ Dla mnie jest to jeszcze większe wróżenie, gdyż już kompletnie nie wiem...
ale zaraz w koncu dziala wpisywanie czy nie,bo w 1 poscie piszesz ze nie dziala.. ale rzeczywiscie ,przyklad z dokumentacji u mnie nie chcial ruszyc... ten przyklad co ci podalem dziala napewno.. u mnie nawet z adresem 0x01
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...
Co do wysyłana szesnastkowych wartości przez RS'a. Możesz użyć funkcji sprintf(); Wyglądało by to następująco: sprintf ( Bufor, "%X:%X:%X:%X:%X:%X", MAC[0], MAC[1] .......); Bufor powinien mieć wielkość 6*3 bajtów. Zostanie w nim zapisana np. tak postać: "0C:2A:......" Aby wykorzystać tą procedurę musisz dołączyć stdio.h. Tu pojawiają się pewne schody....
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...
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......
Ja robię inicjalizację w ten sposób: 1. Zegar SPI na najwolniejszy 2. karta przez CS nie wybrana 3. Wysyłam 20 bajtów 0xFF 4. Wysyłam rozkaz GO_IDLE_STATE, (z wyborem CS) aż dostanę odpowiedź R1_IDLE_STATE (limit prób 100) 5. Wysyłam rozkaz SD_SEND_OP_COND, (z CS) limit prób 255, aż będzie odpowiedź 0 6. Wyłączam CRC (może u ciebie jest problem z obsługą...
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)
Wygląda na to że ATmega zaczął mnie słuchać :-) Pozbyłem się bootloadera Arduino i wszystko wróciło do normy: http://majsterkowo.pl/forum/programowani... Pora przesiąść się na AVR studio... Nadal pozostaje otwarte pytanie dlaczego avrdude zgłasza błąd przy flashowaniu, a konkretnie przy weryfikacji. Pozdrawiam
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...
Watchdog nie jest programowy tylko sprzętowy Możesz mi powiedzieć co tu miałeś na myśli? Watchdog nie jest programowy? pierwsze słyszę. programowo: 1. ustawiam watchdoga na jak najkrótszy czas 2. wyłączam przerwania (na wszelki wypadek) 3. pętla nieskończona. i masz programowy PEŁNY reset i skok do adresu ustawionego za pomocą fusebitów. (to jest najpełniejszy...
Sub Odczytaj_pcf8583 Dzien = Makedec(dzien) Miesiac = Makedec(miesiac) H = Makedec(h) M = Makedec(m) S = Makedec(s) I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 I2crbyte S , Ack I2crbyte M , Ack I2crbyte H , Ack I2crbyte Dzien , Ack I2crbyte Miesiac , Nack I2cstop I2cstart I2cwbyte &HA0 I2cwbyte 100...
uint32_t *napiecie; jest WSKAŹNIKIEM na zmienną typu uint32_t. Nie jest zmienną! Żeby wszystko grało, trzeba ten wskaźnik ustawić na jakiś adres, np.: [syntax=c] uint32_t *napiecie; //wskaznik uint32_t zmienna; // jakas zmienna napiecie = &zmienna; //teraz wskaznik napiecie przechowuje adres zmiennej "zmienna" [/syntax] Pozdrawiam
To przy budzeniu przerwaniem przy pierwszym sygnale przerwaniu wykona się przerwanie i w nim kod? Tak. Warto zapoznać się z: https://www.nongnu.org/avr-libc/user-man... znacie jakieś sposoby na resetowanie mikrokontrolera oprócz wykorzystania sprzętowego. Skok pod adres 0 nie resetuje rejestrów procesora (np. DDRx) i trzeba to...
http://obrazki.elektroda.pl/3799930900_1... Jakiś czas temu pisałem, jak nagrywać gry z PC na PEGASUSA. Teraz pora podejść do tematu z drugiej strony – jak zgrać naszą ulubioną kolekcję kartrydży na komputer. Wiele osób może się dziwić, po co taki zabieg, zwłaszcza, że większość gier z tej konsoli krąży już po Internecie. Czasem...
Ad.1 Odpowiedź ze strony producenta : DataFlash® is the world's number one selling serial interface flash family. Introduced in 1997, Atmel's Dataflash families (45 series and the recently introduced 26 series) are feature rich, low pin count, sequential access families ideal for program code, data storage, Serial EEPROM replacement, and the next...
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.
Nawet adresów nie pozmieniałeś, to jak ma działać?
Witajcie. Zbudowałem sobie zegarek z atmegi ale mam mały problem TWI_Start(); // start transmission TWI_Write(0xA2); // write addres of M41T00 TWI_Write(0x00); // select first register TWI_Start(); // repeated start TWI_Write(0xA3); // write address for reading data W ten sposób uruchomiłem transmisję po TWI. Kod był miksem kilku innych kodów onalezionych...
A swoja drogą to jakżeś to wyczytał? W dokumentacji jest napisane ze taka pamiec wymaga dwóch słów adresujących (MSB i LSB) i2cstart i2cwbyte adres 'adres fizyczny I2C pamieci i2cwbyte adres_msb 'starsza część adresu i2cwbyte adres_lsb 'młodsza cześc adresu i2cwbyte dane i2cstop I odczyt też tak samo: i2cstart i2cwbyte adres 'adres sprzętowy I2C pamieci...
Proszę nie odsyłajcie mnie do wujka google bądź noty katalogowej A jednak odeślę cię: http://www.atmel.com/Images/doc8161.pdf Strona 9, oraz strona 57 (tablica). The interrupts have priority in accordance with their Interrupt Vector position. The lower the Interrupt Vector address, the higher the priority. Myślę, że to rozwieje twoje pytania :) A Wujek...
mala szansa aby w kilku postach zrobic Ci wyklad ale jak masz 12 linii adresowych tj A0-A11 to wszystkie koncowki musza byc podlaczone w Twoim przypadku najlepiej do portow obu Atmeg czyli w praktyce 2 porty do tego zuzyjesz a 3 do danych jesli chcesz wykorzystac pojedyncze piny danych to tez musisz "zuzyc wszystkie 12 adresow , bez bramek czy dodatkowych...
Ale jeśli nie ustawisz tego bezpiecznika to nie leci tam . Prawda? Czyli inne ustalają początek obszaru zajętego przez BootLoader a inne adres "Boot reset vector"
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....
Nie mam tego modemu ale robiło się to z tego co pamiętam w ten sposób: AT+ZPNUM="heyah.pl","heya... AT+ZPPPOPEN AT+ZIPSETUP=1,nu.mer.aj.pi,80 AT+ZIPSEND=1,iloscznakowwysylanychponize... GET /costam.php?a=21&b=2012 HTTP/1.1 Host: adres.serwera.pl Content-Length: 0 Content-Type: application/x-www-form-urlencoded...
http://obrazki.elektroda.pl/4553573800_1... Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł! Poniżej...
Podajesz numer strony (1, 2), a powinieneś podać jej adres. Strona pierwsza - 0, strona druga 128 itd.
programu to ja ci już nie przeanalizuję teraz bo padnięty jestem ..... .... ale to że wgrywasz bootloaderem i że atmega była programowana wiele razy - nie ma tu najmniejszego znaczenia Dodano po 22 ok - po pierwsze nie stosujesz wcięć w kodzie a jak stosujesz to totalnie bez ładu - przez co nawet tobie trudno później dostrzec jakieś błędy (a szczególnie...
Teraz sprawa czujnika DS18B20. Mam podłączone wszystko działa. Korzystam z biblioteki https://github.com/Jacajack/avr-ds18b20/... Teraz pytanie, mam 10 czujników, w każdej pętli odwołuje się do jednego po adresie. Czy teraz żeby ustawić dokładność dla wszystkich czujników wystarczy raz zadeklarować: [syntax=c]ds18b20wsp( &PORTD, &DDRD, &PIND,...
Spójrz na mapę pamięci tego kontrolera LCD, ustal adresy kolejnych wierszy i to tyle.
Jezeli jest to ATMega bez interfejsu do pamieci (czyli do ATMega32) to nic nie tracisz, bo obsluga pamieci jest calkowicie programowa. Jesli wykorzystujesz interfejs pamieci z ATMegi64 lub wyzszej to wszystko zalezy jak podlaczysz linie adresowe i ewentualny dekoder adresow/sygnalow CS. Jesli zewnetrzna pamiec bedzie zmapowana od adresu 0 i bedzie wypelniala...
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...
Właśnie problem w tym, że nie rozumiem za bardzo tego pogrubionego zdania...całą resztę ogarniam, ale nie to. Wiem wstyd, żeby sobie z eng. nie radzić. Czy chodzi o 20 stronę dokumentacji, gdzie są oznaczenia układów: http://obrazki.elektroda.pl/9988417900_1... ? Czyli musiałbym kupić ten sam układ o innym, wbudowanym fabrycznie adresie...szkoda,...
Witam! W załączniku masz biblioteki do sprzętowej obsługi magistrali TWI, układu PCF8583, wyświetlacza lcd, oraz przykładowy plik projektu. Testowane na takim samym sprzęcie (EvB 4.3). W pliku config.h masz napisane do jakich pinów podpięty jest wyświetlacz. Możesz podpiąć tak samo lub zmienić. Pozdrawiam.
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. Zwykle tak jest, ale chyba akurat tego układu to nie dotyczy ( tea_read_registers() po starcie powinieneś użyć TEA_READ_ADDRESS zamiast TEA_WRITE_ADDRESS. Jeśli chodzi o adresowanie,...
Tak BuF-Status jest volatile. tmf, kod zmieniłem na kod prosto z twojej książki (zip ściągnięty wczoraj). Kod nie tyle się zawiesza co w rejestrze TWDR zamiast danych otrzymuje adres slave`a. Dzieje się tak jeżeli wyślę coś z mastera i po odebraniu chcę wysłać odpowiednie dane.
Niestety nie ma prawa działać. Jeśli ATMega działa jako I2C slave to musisz nadać jej adres na magistrali I2C i obsługiwać zdarzenia START, RESTART, STOP i write o read na I2C.
Co do drugiej uwagi wspomniana konstrukcja w funkcji eeprom_write() jest takowa, z mysla o tym, zebym mogl jej uzywac do zapisywania ciagow. Dzieki temu moge napisac eeprom_write(EEPROM1, adres, "tekst do wpisania < 32 liter"); Obawiam się, że to będzie działać prawidłowo tylko wtedy, gdy adres będzie podzielny przez 32. Poza tym,...
Tutaj opis konwertera, może mieć adres Domyślny adres magistrali: 0x27, 0x3F Ten pierwszy nie działa, sprawdź drugi. Zamiast zgadywać prościej wykorzystać co dostajemy za darmo a mianowicie razem z biblioteką i2c jest w przykładach piękny kawałek kodu i2c_scaner, wgrać do arduino i na serial nam wypluwa adres urządzenia i2c jakie wykryje.
Tak bardzo ogólnie bo od AVR nie jestem ekspertem i jak wygląda entry point musi ktoś inny opowiedzieć. Piszesz tutaj kod w assembly, dając kilka dyrektyw. Na bazie tego kompilator wypluwa OPCODE. W tym wypadku używasz dwóch instrukcji ustawiających PINC0 jako wyjście oraz PINC0 w stan wysoki. DDRC i PORTC są aliasami dla pewnych adresów w przestrzeni...
http://www.hoelscher-hi.de/hendrik/engli... zrobiłem ten projekt regulacja jest niestabilna problem z ustawianiem adresu startowego... np. adres startowy 1,2,3 działa ale 4 nie😞 jak reguluje jasność to miga i zaczyna regulować od wartości dmx 60 strasznie chaotyczne😊. W czym problem? Program wgrywał mi programista. Detektor...
Dobra, przyznaję się do błędu. Przeoczyłem tę oczywistość. Jakim cudem ten program wchodzi w pętlę konfiguracja, jeżeli to co pokazujesz zaczyna się od adresu 0x26 (przerwanie od UART1/RX)? Nie ma wektora startu z resetu. Sprawa drugorzędna: dlaczego spod adresu 0x40 skaczesz do 0x500, kiedy od 0x40 jest właśnie obszar aplikacji? Reszta programu widzę,...
Dzisiaj ruszyło. Mogę ci jakoś dokładniej to opisać, ale teraz na szybko: zrobiłem dokładnie tak jak w manualu. Clock mam ok 10kHz, czyli raczej wolny. Głównym błędem jaki robiłem,to wywoływanie komendy SOFT_RST, a potem w niedalekim odstępie ADC_CVT i READ_PT. Po usunięciu SOFT_RST wszystko zaczęło chodzić. Chyba nie zachowałem odpowiedniego czasu...
Generalnie próbowałem zrobić to na podstawie przykładu ze strony 27... Przyjrzyj się dokładniej formatowi bajtu adresowego, bo chyba jednak zrobiłeś to niedokładnie. Adres 0x11 podany w datasheet scp1000-d11 zajmuje przecież starsze 7 bitów bajtu adresowego. Najmłodszy bit to bit kierunku transmisji, czyli powinieneś zamiast: i2c_start_wait(0x11+I2C_WRITE);....
Nie wiem jakie masz TV ale sporo chodzi w standardzie RC5 (Philips)... http://www.ustr.net/infrared/index.shtml - Tutaj znajdziesz opis, timing, adresy, kody itp...
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....
A nota katalogowa na to... niemożliwe. Adres jest jeden bez możliwości zmiany (jak w np. ekspanderach I/O gdzie wyprowadzone są piny A0-A2 pozwalające dać unikalny adres do 8 układów). Zatem w prosty sposób tego się nie da zrealizować. W sposób skomplikowany to ... osobne magistrale I2C - z tym, że sprzętowo chyba żadna atmega nie ma aż 8 TWI. Inne...
W końcu A1..A3 maja związek z pamięcią To jest tylko do adresowania urządzeń na I2C - jak inicjujesz zapis/odczyt iic to wysyłasz adres urządzenia, do którego się odwołujesz. Część jest na stałe zapisana w hw i na to nie masz wpływu, część jak owe linie adresowe pozwala zmieniać ten kawałek adresu, który trwale zapisany nie jest - pozwalając na pracę...
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,...
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...
Wersja A ma inny adres.
atmega flash adres eeprom atmega adres automapa adres
ładowarka impulsowa zenera telpol internet router hotbird transponder
wzmacniacz czujnika światłowodowego bosch prowadnica górna
Zawór zwrotny przy hydroforze często się zawiesza - przyczyny Najmocniejsza bateria do Samsunga Galaxy S10 - 4500 mAh