Pliki źródłowe możesz śmiało skompilować pod Atmel Studio/AVR Studio. Tylko musisz stworzyć nowy projekt i dodać pliki ze źródełkami do niego. Działa bezproblemowo.
Witam. Ja robię to tak #define EEPROM __attribute__ ((section (".eeprom"))) unsigned int tab[5] EEPROM ={18,2984,3188,3400,36200}; pozdr.
Atmega2560 posiada 256kB pamięci. Załóżmy, że program zajmie 25k, zostaje jeszcze 225kB. Zatem, Twoich "plików" wejdzie 225 / 0,72 = 312 plików po 720 bajtów. Dostęp do danych przez funkcję lookup https://avrhelp.mcselec.com/index.html?l...
Tomqu z podanych przeze mnie linków ściągnij przykład 04 i podmień w nim main.c na: [syntax=c]#include"main.h" //**************************************... #define BUF_SIZE 8 // definiujemy bufor o rozmiarze 8 bajtów (musi byc potega dwójki dla tego sposobu!!!) // definiujemy maskę dla naszego bufora #define BUF_MASK...
Jak najbardziej write_block zapisze poprawnie - kluszem jest parametr size. Jeśli pobierzesz &id_czujnika i sizeof(id_czujnika) to będzie ok.
Odpowiednie typedefy są w nagłówku stdint.h Co do podziału pomiędzy przerwanie a program główny to pewnie zapomniałeś modyfikatora volatile przy deklaracji zmiennych, które są dzielone pomiędzy przerwaniem a main(). Co do "tablicy czujników": struct czujnik { uint8_t adres; /* do wyboru czujnika na szynie */ uint8_t ileProbek; uint16_t probki[ROZMIAR];...
to powinno pomóc - zwraca adres początku tablicy https://avrhelp.mcselec.com/index.html?l...
Trochę dziwna ta deklaracja: Ja __attribute__((progmem)) używam raczej po nazwie zmiennej: sizeof tablicy dosyć rozbudowanych struktur (menu) umieszczonej w pamięci FLASH działa prawidłowo. Czyli konkretnie jakie wartości zwracają?
int to 2 bajty więc 450 x 4 x 2 = 3600 bajtów ,atmega32 ma sram 2kb :!:
Toż Ci piszę, że tablice wielowymiarowe to abstrakcja - i tak są mapowane do tablic 1W (wektorów). Wektor o długości 16 elementów, możesz równie dobrze traktować jako tablicę 2W o wymiarach 4 x 4 - wzór na przeliczenie indeksów 2W na 1W podałem w poprzednim poście. Dim Tablica(16) As Byte Dim X As Byte Dim Y As Byte Dim N As Byte Dim I As Integer...
Tak, rozwiązałem problem za pomocą tablicy.
Jeżeli to ma być coś bardziej profesjonalnego, jak tytułowa tablica informacyjna, to może warto by pomyśleć o zastosowaniu układów specjalnie przeznaczonych do tego celu, czyli TLC5940 lub A6276. Sam powoli przymierzam się do zbudowania takie tablicy na TLC5940, bo zabawa z tranzystorami i rejestrami trochę mija się z celem przy budowie jakiegoś poważniejszego...
odbieraj znak po znaku z UARTu i umieszczaj go np. w tablicy
Myśle ze to nie problem na atmedze8 bo to szybkie bydle. Jezeli na Z80 (1.5 Mips) chodzi tablica 240x64 przy 60 Hz to atmega poradzi sobie bez mrugniecia.
A pod linkiem jego opis http://infobus.pl/blog.php?id=224 Właśnie na tej stronie napisano: "W systemie R&G sterownik wysyła numer linii oraz nazwę przystanku końcowego w formie tekstu .Polskie znaki są w standardzie MAZOVIA lub LATIN . Tablica odbierając sygnał sama tworzy sobie bitmapę." Tymi na których masz 8051 i EPROM z naklejką ETL120 myślę ze...
Problemem jest char *cmd[]; - to oznacza tablicę wskaźników na char, a nie wskaźnik na char. A skoro tablica o nieznanej liczbie elementów to wszystko co masz po przecinku to kolejne elementy tej tablicy. Czyli usuwasz [] lub nazywasz pola, np. .ptrF=.
Chwilowo użyłem Atmegi 16 bo nie mam pod ręką całej płytki z 32u4 Nadal nie zmienia to faktu, że musisz dodać zabezpieczenie przed przepełnieniem bufora odczytu danych ... To na 100% będzie powodowało Ci "zwiechy" uC. "Dobry stary" odkurzacz w okolicy urządzenia i zakłócenia przepełniają tablicę.
Tak to skonsumujesz całą pamięć procesora na program dla większej ilości przycisków. Musisz zrobić ten układ w pętlach. Zadeklaruj sobie tablicę 2 wymiarową i zrób 2 pętle. Pierwsza pętla będzie przemiatać wiersze, druga kolumny. Wystarczy w środku dać jeden warunek i wpisywać wartości do tablicy.
Pomyśl, ile naprawdę masz możliwych wersji tego odcinka na wyświetlaczu o tej rozdzielczości, policz w arkuszu kalkulacyjnym współrzędne lub parametry przyrostowe dla każdej wersji, wrzuć je do tablicy indeksowanej czymś, co odpowiada kątowi i niech Twój AVR rysuje odcinek na podstawie parametrów odczytanych z tablicy.
W rzeczywistości jest dużo czytelniejsza niż na filmie (słaba jakość), ale mówiąc o filtrach co masz na myśli? Filtry w postaci kolorowych naklejek? Jeśli chodzi o czas to zajęło mi to bardzo dużo czasu ze względu na to że głównie powstawała w weekendy, ale mając gotowy soft, wzory pcb itd sądzę że wykonanie nie zajęło by więcej czasu niż Tydzień, a...
Petit Fat w żaden sposób nie powiększa rozmiaru pliku, po prostu nie modyfikuje tablicy FAT.
Napisze tutaj, bo nie wiem co częściej sprawdzasz. Tak patrze i przychodzi mi jedna myśl. Może po drodze coś się rzutuje i sama zmienna pamiec z racji, że jest char ogranicza możliwość większych wartości? To by tłumaczyło dlaczego tekst przechodzi, a inne wartości jak np. 0xFF nie dają rezultatu. Jeśli to jest problem to rozwiąże go zadeklarowanie tablicy...
Działa, dziękuję, ale wychodzi na to że mogę tak przesłać tablicę tylko jeśli podam jej rozmiar w deklaracji, a w moim założeniu chciałem przesyłać za pomocą funkcji dowolną tablice dwuwymiarową, o różnych wymiarach. Przecież przesyłasz: w1=y2-y1 w2=x2-x1 Poza tym rozmiar i tak musisz podać w deklaracji (tablicy). Chyba że zrobisz tablice dynamiczne.
Witam. Chciałbym podjąć temat mający za zadanie poprawne uruchomienie wyświetlacza graficznego, gdyż mam z nim nie mały kłopot. > ATmega8 > LCD 132x65 LT13264 - kontroler SPLC501C http://www.densitron.com/uploadedFiles/D... Proszę jeżeli ktoś posiada program, który działa o podesłanie lub wytknięcie błędów w poniższym...
nie wiem, jak to w gcc wygląda, ale nie zadziała czasem 'static' w deklaracji, ewentualnie 'const', ale nie za bardzo wiem, jak działa const w C++ (programuję w C), wiem tylko, że inaczej... :D static char tablica[8] = {1,2,3,4,5,6,7,8};
Witam czy o to chodzi z tą zajętością? [syntax=c]if (DMA_CH0BUSY_bm) przelicz tablice 2 ; if (DMA_CH1BUSY_bm) przelicz tablice 1 ;[/syntax] ma to tak wyglądać czy jest gdzieś błąd? Zamiar jest taki jak kanał 0 zajęty to przeliczaj 2 tablice jak zajęty 1 to przeliczaj 1 tablice Pozdrawiam
[syntax=c]TWI_write(pgm_read_byte( &cyferki[cy4] ));[/syntax] Mam tablicę znaków wyświetlacza "cyferki" a zmienną "cy1" - "cy4" wskazuje odpowiedni znak z tablicy. W buforze z RFM12 mam stringi a potrzebuje int aby wyświetlić znaki z tablicy.
Masz podawane złe długości pól. Skoro odwołujesz się np. do pola okrążenia typu DANE_ZAWODNIKA to nie możesz robić sizeof(DANE_ZAWODNIKA) bo to nadpisze ci kolejne pola, powinno być sizeof ale pola okrążenia. Takich błędów masz więcej. Definicja: DANE_ZAWODNIKA numer_zawodnika_tab[sizeof(DANE_ZAWODNIK... też na oko jest bez sensu. Bo robisz tablicę...
To znaczy, że nie ustawia mi odpowiednich wyjść (nie zapala diod), co powinno stać się już na początku wykonywania programu, no i oczywiście dalej też nie przechodzi :) Dając mu 20 lub mniej elementów w tych tablicach, program działa bez zarzutu.
melthalion - Nie publikowałem tego projektu. Robiłem to na szybko. Nka chcąc utrudnić życie swoim użytkownikom zastosowała pilota z "szyfrowaniem" sygnału. Nie miałem czasu ani chęci rozgryzania tego tematu, więc po prostu wrzuciłem kody wszystkich używanych klawiszy do tablicy mikrokontrolera ATMega i tyle. U autora tłumacz jest wbudowany w dekoder,...
Acha, może ktoś wytknąć, że sterowanie rejestrami jest z oddzielnych portów, ale wymyśliłem sobie, że szybciej będzie obsłużyć 5 rejestrów, niż szeregowo wysyłać przez jedno wyjście - może się myle. moim zdaniem mylisz się - wg mnie o wiele wiele szybciej byłoby się połączenie kaskadowe tych rejestrów i z jednego portu wsunięcie do nich odpowiedniej...
Skoro te funkcje nie są używane, to błąd masz gdzieś indziej. Weź pod uwagę to, że rozmiar tej tablicy wpływa na lokalizację innych zmiennych i pewnie to generuje jakiś problem. 4\/3!!
Witam a nie lepiej do tej pracy zastosować kalendarz :) z zegarkiem RTC przecież wiadomo gdzie będzie słońce i kiedy wystarczy wpisać odpowiednie tablice :)
A skąd my mamy wiedzieć, jak ten wyświetlacz jest połączony z mikrokontrolerem? - to po pierwsze. Po drugie - jeśli wyliczyłeś, że jedynce odpowiada wzorzec F9, to dlaczego w tablicy jest F8?
Faktycznie nie pomyślałem o tym gdyż sugerowałem się tym iż ja miałem rejestr dla całej tablicy a nie liniami i sterowanie multiplekserowo.
...niestety nie znam asemblera. Nie musisz znać. Jak przeczytasz uważnie i zrozumiesz zasadę, to sam napiszesz procedurę obsługi przerwania w C. Dla częstotliwości PWM rzędu kilkunastu kiloherców i zegara CPU 8MHz przerwanie występuje co ponad 500 taktów, więc nawet procedura napisana w C nie będzie za długa (myślę, że nie powinna przekroczyć 100 taktów)....
Pracowałem wówczas na ATmega162. Okazało się, że pewna seria '162 miała ten sam problem. Układ resetował się przy komunikacji UART. Temat zamykam.
Jak masz w tablicy to porównuj w pętli zaczynając od roku. Większe, mniejsze, a jak równe to leć dalej z pętlą.
Jak czytać tablice, to ja wiem, zrobiłem przecież na AVR (Atmega i Xmega) z tablicą fonty 8x8, na ARM też zrobiłem, ale jak juz chce się użyć w programie kilka krojów/rodzajów czcionki i łatwo tym zarządzać - to jest mój problem.
Używaj AND żeby wygaszać i OR żeby załączać wybrane bity na porcie bez naruszania innych. Czyli mając np 2 porty, na obu robisz AND "stała maska" żeby wygasić rząd ledów, i potem na obu OR "maska z tablicy" żeby zapalić te wybrane. Odpadają ci wtedy wszystkie IFy. Bity w tablicy muszą już być posortowane ręcznie.
Zadeklaruj [syntax=c]char t_dzien[][4]= {"pon","wto","sro","czw","pia","sob","ni... Powodzenia
http://obrazki.elektroda.pl/9824916400_1... Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże...
Dobra, kolejny pomysł :-) W linijce lcd_putc(buffer[i]); tablica powinna być indeksowana zmienną j
Ponieważ nie włączyłeś wewnętrznego rezystora pull-up to rozumiem, że dodałeś zewnętrzny? Gdy przycisk zwiera do masy to znaczy, że gdy jest wciśnięty na pinie jest 0 logiczne, w związku z czym stan ten wykrywa się tak: [syntax=c]!(PINC & 0x80)[/syntax] Poza tym jeśli PC6 to: [syntax=c]!(PINC & 0x40)[/syntax] ale najlepiej używaj przesunięć...
Można! W asmie bez używania stosu:P ^^ Taka dygresja;)
Chciałbym zwrócić uwagę na tablicę 82 na stronie 213 PDF ATmegi.
Jeszcze jeden błąd - voltage_result ma miejsce tylko na 4 znaki, ale jeden z nich to musi być NUL, więc tablica powinna być co najmniej 5 elementowa.
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...
Coś może w takim stylu. Kod wyrwany z większej całości i trochę zagmatwany. Jest to fragment kodu do tablicowania wyjść w zespole wyświetlaczy 7-segmentowych LED. Fragment dotyczy wspólnych anod/katod ale jest również w podobnym stylu do obsługi poszczególnych segmentów podpiętych do różnych/dowolnych portów i pinów. Większość rozwiązań wykorzystuje...
Sprawdzona [syntax=c]/* * dht11.h * * Created on: 23 mar 2014 * Author: miszczo * http://mikrokontrolowanie.elektroda.eu/d... */ #ifndef DHT11_H_ #define DHT11_H_ //--------------------------------------... //**************************************...
Procedura getkbd zwraca 0 gdy nie naciśniesz zadnego klawisza (albo jakas inna wartosc). Musisz zrobić tak, aby po naciśnieciu dowolnego klawisza program czekal na wartosc 0 a dopiero pozniej jezeli odbierze jakas wartosc to niech zapisuje to do tablicy. Np: dim x as byte dim i as bit do x=getkbd if x= 0 then i=0 end if if x<>0 and i =0 then tablica=x...
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...
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...
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...
Wykorzystanie timera do odliczanie czasu impulsów. Tablica z z wszystkimi krokami silnika, zmieniany indeks tablicy po przepełnieniu licznika.
Witam, mam dosc dziwny problem z indeksowaniem tablicy pod atmega128 . przykladowy kod: uint8_t tablica[3]; tablica[0] = 0B11100000; tablica[1] = 0B00001000; tablica[2] = 0B01100000; int i = 0; while(1) { for(i = 0; i < 3; i++) { PORTE = tablica[i]; _delay_ms(100); } }...
Czas odczytu 7 sztuk DS18B20 z pobraniem numeru czujnika z tablicy ze sprawdzeniem CRC wyniku ATmega kwarc 18,432 MHz 12,5 milisekundy. Dodano po 16 Koryguję czas podany poprzednio. Nie zauważyłem przeniesienia. Ten czas wynosi 26,8 milisekundy.
Zdecydowanie tablica może być mniejsza. Nakładając dodatkowe założenia zdroworosądkowe, np. a) prawdopodobniestwa wartości nie zależą od konkretnego wsadu, lecz od 'średniego wsadu'. Wprawdzie zysk mniejszy ale prostsze. Konkretne prawdopodobniestwa w dekompresorze chyba nie są już potrzebne. b) jakieś sortowanie c)drzewo jako tablica, w jakiś częsciach...
Jak zrobić taką tablice i jak z niej wyznaczać omawianego y?
Siemano. Jeżeli chcesz umieścić np. tablicę jednowymiarową w sekcji EEPROM to możesz wykonać to w taki sposób const unsigned char Tablica[] EEMEM = { 0x3e,0x51,0x49,0x45,0x3e, 0x00,0x42,0x7f,0x40,0x00, 0x42,0x61,0x51,0x49,0x46, 0x21,0x41,0x45,0x4b,0x31 }; Niestety przy takiej deklaracji pierwszy element tablicy nie będzie znajdować...
bo ta tablica jet 16 bitowa i calosc zajmuje 64kb pamieci flash procesora
eee... bufor robi sie tablica, wiec nie do konca kumam co ty chcesz zrobic. 4\/3!!
Ja zaprojektuję schemat i płytki PCB. Mogę też napisać oprogramowanie na moduły, więc już będzie można coś na nich zobaczyć. Potrzebny jest ktoś od CC1000, ja nie robiłem tego jeszcze a tu chodzi też o czas. Czyli potrzebny jest programista PC do napisania programu obsługującego tablicę i programista do sterownika na ATMega + CC1000 do komunikacji radiowej.
Jeżeli ten czas ma się zmieniać liniowo, codziennie o tą samą wartość, to przecież możesz wyprowadzić sobie wzór na obliczanie tego czasu. Po co mielić tyle razy to samo. Możesz też użyć tablicy, albo zrobić to w pętli.
Chodziło mi właśnie o coś takiego, co można by nazwać wirtualnym portem z metodami obsługi (widziany jako uporządkowany, 8 bitowy a "na zewnątrz" przypisany dowolnym pinom), tak by nie trzeba było zaglądać do dokumentacji. 1. Chodzi Ci o remapowanie peryfreriów - ale to tylko u Microchipa, 2. 256 bajtów ROM na tablicę mapującą 3. Zarzynanie siebie...
Nie rozumiem:(. Czyli co muszę wstawić konkretnie w tablicy żeby grało i losowało liczby?
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...
Wykombinowałem coś takiego :), przykład można uruchomić w symulatorze (dane wejściowe np. porta.1): EDIT: poprawiłem mały błąd w przykładzie, bity można nawet kopiować jeżeli port źródłowy i docelowy jest ten sam [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $baud = 57600 Dim Src_port_str As...
Ok, a jaką metodę polecasz do aproksymowania na mikrokontrolerze? Nie chce go zarzucić zbędnymi działaniami i zaśmiecić zbędnymi zmiennymi. Próbowałem mierzyć po przez aproksymację. nazwy metody wsumie nie znam. ostateczne równanie było przekształcone z układu równań: a* suma(x^2)+ b* suma(x) = suma (xy) a* suma(x) + b* n = suma (y) gdzie n to liczba...
W analizatorze (nawet tak prostym) to trzeba jednak obejrzeć każdą ramkę (przynajmniej jej początek) i tu raczej RS232 się nie wyrobi (nawet na 115Kb). To co widziałeś to najprawdopodobniej bardziej rozbudowany układ który po RS232 wysyła jedynie transmisje z wybranego portu (TCP/UDP)/IP. Ty musisz widzieć ramki ethernetu. Potem tylko analizować odpowiednie...
To świetnie, że się udało. Przy okazji - skoro w tej tablicy dane masz posortowane, to po zmianie jakiejś wartości nie trzeba wykonywać całej, kosztownej funkcji sortującej - wystarczy proste przelecenie tablicy i porównanie wartości. Algorytmem opartym o bisekcję będziesz miał złożoność obliczeniową na poziomie log n, gdzie n jest wymiarem tablicy.
Analizator widma na tym wyświetlaczu to by było coś, chociaż i tak z samych zdjęć już wygląda imponująco. Sam kiedyś zbudowałem "podobny" wyświetlacz (tzn. trzy matryce czyli 8 * 15 punktów i do tego tylko na kościach TTL + RAM 6116) ale niestety nie zadziałało :) Zastanawia mnie twój kwarc, pracowałem przy prędkości transmisji 115kbit/s z mniejszym...
wynik = (srednia*512)/1024; To z grubsza to samo to samo, co wynik = srednia / 2; Tyko w pierwszej postaci łatwiej o błąd w obliczeniach. Funkcja pomiar() raczej nie działa, bo przełącza multiplekser i natychmiast odczytuje wynik pomiaru - jakiego pomiaru? Nie ma sensu ładować wyników do tablicy, jeśli potrzebujesz tylko ich sumy.
Jest jeszcze opcja żeby pisać obsługę karty w BASCOMie od zera, wtedy nie było by problemu z odczytaniem prosto z karty sektorów bez potrzeby buforowania. Ja pisałem program w asm na takie odtwarzanie i wcale nie rezygnowałem z systemu plików, najpierw w katalogu szukałem pilku wav, odczytywałem jego rozmiar, początek też jest zapisany w katalogu, i...
No Timer jest "buforowany" ale nie o to mi chodziło. Chodziło mi o buforowanie większej ilości danych. Ale to masz skoro masz dwie tablice. Czy mi się zdaje czy w przerwaniu odczytujesz sektory?
Wystarczy po stronie nadajnika rozbić 16bit na dwie liczby 8bit: [syntax=c]tablica[0]=zmienna16bit & 0xFF; tablica[1]=zmienna16bit >> 8;[/syntax] A w odbiorniku złożyć ponownie do 16bit: [syntax=c]zmienna16bit= tablica[0]+tablica[1]<<8;[/syntax]
Najpierw wylosuj jedną z tych sześciu zmiennych i przypisz jej 1. Następnie w losowaniu bierze udział pięć pozostałych, wylosuj z nich jedną i przypisz jej 2, i tak dalej. Ostatniej liczby nie ma co losować, bo zostanie tylko jedna, jej przypisz 6. Można też inaczej. W tablicy 6-cio elementowej wpisz wartości od 1 do 6. Wylosuj indeks tablicy, przepisz...
Operacje na stringach mogą być niebezpieczne, szczególnie, jeśli dostajesz stringi z zewnątrz Poczytałem, faktycznie śliski temat. Rozumiem ryzyko. Ciekawe rozwiązanie problemu jest poniżej: 5. Te wywołania strcat() są beztroskie. Czy chodzi Ci o ryzyko jakie z tego płynie? Zauważ, że np "strcat(txframe,IMEI);" tctframe ma 230 bajtów a IMEI ma 15 jednak...
Mnóstwo? Przy 32bitach to będzie w okolicach 1GB. Jak to obliczyłeś? tablica 500 elementów 32bitowych to tylko 2000B
Początek odczytu ma zaczynać się wraz z podaniem zasilania na urządzenia, czyli na urządzenie które wysyła ta liczbę ( w postaci binarnej) i Atmega. Kiedy dokładnie ma zakończyć się odczyt i rozpocząć wysyłanie na PORTB.1 jeszcze nie wiem, ale wydaje mi się że jak podłącze analizator stanów to sprawa się wyjaśni... Proszę o podpowiedź i wyjaśnienie...
Witam Doszedłem już do tego... faktycznie jest to bezwładność oka, musiałem tylko zmienić procesor na 16bitowy bo atmega się nie wyrabiała Pozdrawiam
Nie traktuję mikrokontrolera jak PC. Obawiam się tylko o kompilator z Bascoma. Bo niby dlaczego pomaga ręczne zadeklarowanie miejsca w pamięci dla tablicy? Moim zdaniem kompilator w tym wypadku popełnia jakiś błąd.
Jeśli chcesz uśredniać wiele pomiarów to po co ci tablica z tymi pomiarami? No chyba, że indywidualne pomiary, oprócz wartości średniej też są ci potrzebne...
No tak, komputer odbiera je jako "suche" bajty, ale Labview, niejako z miejsca interpretuję je jako dane string. Na wyjściu bloczku "VISA Read" Mylisz stringi. To, czego spodziewa się klocek to string w postaci "3.1415". A string który dostajesz z atmegi to cztery bajty o jakiś tam wartościach które zostają zamienione na string w ten sposób, że każdy...
Zabrakło ci RAM - same dwie tablice v i u deklarujesz jako 256-bajtowe - łącznie mają 512 bajtów, tyle ile całej pamięci ma użyta ATMega. A gdzie miejsce na pozostałe zmienne lokalne (a masz nawet 100-bajtowe tablice) i stos? Dochodzi do nadpisania stosu i to co się dzieje to chaos.
Lecz w który miejscu mnożę dwie liczby 16 bitowe podczas zapisywania do tablicy? mnożę 8 bitowe b i 256 ( 8bitów ) Ty to rozumiesz. Ja to rozumiem. Kompilator tego NIE rozumie. Poza tym dziwny ten zapis: [syntax=c]b=0b&00011111[/syntax] Ani średnika na końcu ani sensu w środku.
A może "buffor_danych" do którego wrzucasz kolejne bajty to też tylko wskaźnik zamiast tablicy (niezainicjowany lub ustawiony na 0)? To tłumaczyłoby dlaczego przypisanie ramka_danych do stałej tablicy znaków daje dobry wynik a ustawianie zawartosci kolejnymi bajtami się nie udaje. (podobnie do poprzedniego błędu) Przy okazji, sizeof(ramka_danych) to...
...do tej tablicy odwołuję się poprzez ldi r31,high(0x200) ldi r30,low(0x200) lpm wpisanie w nawiasach sinus nic nie daje, wpisanie 0x100 także nic. Ldi wtedy nie bierze elementów tablicy. Dziwne... Pzdr.
Zlece napisanie programu ( lub pomoc przy napisaniu programu) do µP ATmega 32 - Uklad w ktorym pracuje mikroprocessor to Tablica swietlna na martycach diodowych LED.Urzadzenie musi komunikowac sie z komputerem PC poprzez modul USB Urzadzenie mam gotowe,program dla PC napisany jest w jezyku C# ( jest rowniez gotowy) pozostaje napisanie programu...
Witam, Mam następujący problem. Zakupiłem robota z zamontowaną płytką: http://www.mobot.pl/download/MOBOT-MBv2-... GPS to FGPMMOPA4, konfiguracja: 9600 bps/8/N/1 Po drobnych modyfikacjach zamontowany jest tam kwarc 7,3728 Mhz. Procesor to Atmega128L (początkowo był Atmega128A z kwarcem 16Mhz). Podłączyłem do RX0 wyjście TX GPS FGPMMOPA4....
Po prostu raz odczytujesz id termometrów i potem na stałe zapisujesz je w odpowiednich tablicach, zamiast stosować instrukcji wyszukujących układy na magistrali. --- Choć z tego co wiem o magistrali 1wire czujniki powinny być zawsze wyszukiwane w tej samej kolejności, stąd może masz jakieś błędy w komunikacji (np. poprzez za długi kabel złej jakości...
Tzn ile pamięci? Tak na oko to to 256 bajtów. Myślałem, że ATmega mają więcej... ;)
Z tym wyświetlaniem 60 razy na sekundę to chyba przesadzone.. Wątpię, czy z M32 i np na tym LCD od S65 zdołasz wyświetlić 60 razy na sekundę pixele o współrzędnych na stałe zapisanych w tablicy przez całą szerokość ekranu i połączyć je liniami przy okazji kasując to co poprzednio było wyświetlone.
Standard 5V, czytnik wysyła kod ciągle po zbliżeniu transpondera i przestaje wysyłać po oddaleniu go, "wpisać na sztywno" miałem na myśli spisać w program jeden transponder (zmienna, może jakaś tablica) i porównywać to z odczytem, o do zamieszczenia kodu lub schematu to wolał bym napisać na nowo cały program, atmega działa na 100%, Kwarc mi nie robi...
Proszę kogoś o podpowiedź i wyjaśnienie który fragment kodu jest odpowiedzialny za zapis w tablicy pamięci układu DS2430A, nie mogę się jakoś połapać. Dziękuję
Znalezione w sieci. Może się nada. Tablica ledmaster oprogramowanie. Co do komunikacji po RS możesz spróbować przejściówki USB-RS232, polecam na układzie FTDI .
#define kod {0,0,9,9,9,14,8,16} #define ilosc_zn 1 void znak(void)//definicja znaku { unsigned char zn[ilosc_zn*8] = kod; unsigned char x = 0; for(;x<ilosc_zn*8;x++) { write_command(0x40+x); write_char(zn[x]); } } #define kod {0,0,9,9,9,14,8,16} - to 8 liczb każda odpowiada...
Kombinowałem na różne sposoby i nadal nie rozumiem na jakiej zasadzie odbywa się sterowanie tymi układami z poziomu programu. Samą tabelę z datasheet zrozumiałem ale nie widzę co trzeba zmieniać w programie, by móc dostosowywać go do swoich potrzeb. Mógłbym Cię prosić abyś dorzucił kilka komentarzy? Zdecydowanie pomogłoby mi to w zrozumieniu. Musisz...
Witam, czytając książkę A. Pawluczuka natknąłem się na inicjację wektorów przerwań. Jak wiadomo w książce jest wykorzystywany µC ATmega8515 (niestety ja korzystam z ATmegi32). Przykładowa tablica tutaj: .orgINT0addr ;External Interrupt0 Vector Address reti ; ;---------------------------------------... .orgINT1addr...
A tak? Przecież napisał, że jak poda rozmiar to działa. Poza tym w Twoim programie też się "tekst" nie mieści w tablicy i brakuje mu dzięki temu terminatora. Dodatkowo nie widzę sensu w posługiwaniu się kopią wskaźnika na tablicę, co to zmienia?
atmega tablica chara tablica atmega atmega tablica kodzie programu
airbag eeprom wentylator stojący włączeniem płyta gazowa bezpiecznik
jakie napiecie pompie paliwa radio cabasse renault
Mercedes W212 2.2 CDI - Czujnik Temperatury Spalin Lokalizacja bezpiecznika wycieraczek Mercedes Atego 1823 2002