brne Flaga_Z_0 Zdaje się, że ta instrukcja jest zbędna. [syntax=avrasm]LDIR17, &B01010101 MOVR1, R17 RCALLSprawdz_bit ;------------------------------------- Sprawdz_bit: ldiR16, &B10000000 Sprawdz_bit_x: movR2, R1 andR2, R16 breqFlaga_Z_1 ;Jeśli bit w bajcie = 1 to zrób coś rjmppomin1 Flaga_z_1: ;Jeśli bit w bajcie = 0 to zrób coś Pomin1: lsrR16 brne...
Żeby nie było - optymalizacja też może wchodzić w grę. Nowoczesne kompilatory potrafią (czasami) rekurencję zamienić na pętlę, ale nie należy zbytnio na tym polegać bo to ruletka. Jak chcesz sprawdzić czy tak się stało dla drugiego przypadku to trzeba porównać asemblery
Mając procesor 32-bitowy nie będziesz musiał myśleć o bankach i ich przełączaniu, a operacje na adresach będą wykonywane w jednej instrukcji, a nie w 3..8 jak w Xmega. nie rozumiem tego katowania się 8-bitowcami w aplikacjach, w których przestrzeń adresowa musi przekraczać 64 KiB. Weź dowolnego Cortexa - wyjdzie prościej, taniej i ze 20 razy szybciej...
Takie 8 programowych timerów to jak znalazł do czajnika. A przy wzroście prędkości wynikającym ze zbawiennego użycia assemblera to nawet wodę szybciej zagotuje i możesz jeszcze sam kawę zaleje w czasie który mu pozostał. Fredek może napiszesz jak to zrobić w C uwagi na temat asemblera są raczej wizytówką tego jak "optymalnie" wygląda kod w C jak go...
No dobra Piotruś arm jakiej firny ? Tomek Xmega i C ja AVR i asembler , ktoś coś wypicuje na picu? No to jeszcze ST i Frescale i będziemy mieli całkiem fajny przekrój mikrokontrolerów z rynku . Zapraszam koledzy takiego tematu nie było porównamy jak się koledzy zmobilizują kilka podejść na różnych platformach do tego samego zagadnienia . Kto coś skrobnie...
Pomyślałem że coś niedobrego dzieje się z pamięcią RAM może wada lub mała ilość ... Mam nadzieję że kolega TMF nie będzie bazował jedynie na języku C cały czas brakuje mi jakiejś ściągi z asemblerem do tych AVR-ków (Xmega)
Konwersję koloru z różnych formatów, np. 565 na 888, alfablending, blending przy antyaliasingu, operacje logiczne pomiędzy maską i obrazem. Nieprzypadkowo nawet na PC spore części sterownika grafiki są napisane w asemblerze.
Ale sprawdziłeś wygenerowany kod? Bo na 90% kompilator sam wygenerował to co tak pracowicie wstawiłeś w asemblerze - a jeśli nie to prosta zmiana opcji kompilacji, dodanie inline itd. spowoduje, że taki kod powstanie automatycznie. Co do wcześniejszego błędu - out ma ograniczony argument do 31. Kolejna sprawa - to co tak pracowicie symulujesz programowo...
Napisać i przetestować algorytm w C, potem (jeśli musisz) przenieść na asembler i sprawdzić, o ile byłeś gorszy od kompilatora.
Tak jak pisze (at)atom1477 pokaż layout płytki, dla kwarcu 16 MHz kondensatory powinny być rzędu 8-12 pF, ale dokładnie możesz je policzyć jeśli poznasz pojemności kwarcu z noty. Jest jeszcze jeden problem - BASCOM. Zobasz na wygenerowany asembler, jak wygląda procedura przełączania zegara. Być może tu jest problem. Próbowałeś odpalić program w debuggerze...
RJMP to skok względny. Ale pisząc w asemblerze w C nie musisz się tym przjemować. Po prostu wstar JMP, kompilator sam zauważy, że adres jest daleki i wstawi odpowiednią instrukcję. Podobnie jest z RJMP - jeśli linker zauważy, że skok jest bliski zamieni JMP na RJMP. Ze sprawdzaniem - ok, można tak zrobić. Nie bardzo rozumiem skok przez reset?
Podany kod działać nie może, bo jak zmiennej typu uint16_t chcesz przypisać coś więcej niż 0xffff? A ostrzeżenie kompilatora mówi tylko, że w sposób niejawny z wartości integer robisz wskaźnik. Wystarczy to zrobić w sposób jawny, czyli wykorzystać rzutowanie typów. A jeśli nadal będziesz miał problemy to pomaga rzut oka na plik lss, zawierający wygenerowany...
Chętnie bym ci pomógł, ale używasz stałych, zamiast symboli i trzebaby to teraz zdekodować czytając notę procesora, Ogólnie zapis do EEPRON w XMEGA odbywa się blokami - czyli po zmapowaniu EEPROM do SRAM, modyfikujesz odpowiednie komórki (co ważne, muszą one być w obrębie jednej storny EEPROM), a nastęnie dokonujesz zapisu strony. Symulator działa ok,...
To spróbuj odwołac sie do portów powyżej 0x3F... Potem spróbuj odwołac sie do portów Xmegi lub nowych AVRX... Tam porty mają adresy dwubajtowe. I co z tego? Dawno już nie robiłem niczego na AVR , ale taki ARM ma adresy 4-bajtowe (32-BITOWE) i nie ma z tym żadnego problemu. W asemblerze robi się to dziecinnie łatwo . Zapewne chodzi ci o adres Bazowy...
Tak, może być kolorowy - tylko sobie to policz. Nawet dla podanych przeze mnie szacunkowo 160*200 pikseli i zaledwie 256 kolorach potrzebujesz 32 kB pamięci RAM. Masz tyle w Arduino? Raczej nie. Gotowego kodu raczej też nie uświadczysz. W Internecie można znaleźć takie kody, ale jak pisałem jest to albo czysty asembler, albo C ze wstawkami w asemblerze....
1. W zależności od procków, które chcesz użyć. AVR Studio nie wspiera wszystkich, ale poza niektórymi XMEGA działa na nim wszystko. Do prostych projektów (a innych w asmie nie napiszesz) jest ok. Atmel Studio ma dużo bajerów przydatnych przy programowaniu w językach wyższego poziomu. Działa całkiem sprawnie na współczesnym komputerze. 2. Wszystko co...
Wysłanie sygnału start lub stop sprowadza się do zapisu odpowiedniego bitu w rejestrze nie powinno być więc problemu z bezpośrednim dostępem do rejestru z poziomu c lub przy użyciu wstawki w asemblerze . Pomijaj tu z jakiego powodu masz taką potrzebę . Przy odrobinie wprawy można też włożyć rączki w bibliotekę i zrobić interesujące cię poprawki lub...
Program nie może robić przerw - sterownik interpoluje ruch w wielu osiach i zakłócenie spowoduje zmianę krztałtu - np 2 silniki X i Y tną po okręgu i nagle jeden staje. Ta zasada dzialania to nie muj wymysł - tak działają inne takie układy, sa gotowe projekty ale oparte na starych kostkach np dodatkowe cpld lub wszystko nadgonione asemblerem. [url=https://en.cs-lab.eu/product/csmioi...
Witam , Zaczynam z AS6, dotąd używałem 4.18 głownie z asemblerem Pytanie dotyczy możliwego błędu symulacji prostego kodu w AS6, do potrzeb zapytania sprowadzonego do wersji jak niżej : http://obrazki.elektroda.pl/4044092400_1... również wygenerowany kod obsługi jest poprawny http://obrazki.elektroda.pl/7240738500_1...
Tak. Na początek wyrzucić RET po RJMP Piksel_rowna_sie_jeden. A następnie, analizując ten zestaw instrukcji napisać równoważny kod: [syntax=armasm]Piksel_rowna_sie_zero: RET [/syntax] Skoro kasujesz R16 instrukcją CLR R16, to po co ładujesz tam literał przez LDI R16,0? Bez sensu. Skoro w R16 jest zero, które wymusiłeś, to po co sprawdzać warunek czy...
Czytając ten wątek czuję się młodszy o 25 lat. ;)
Kolega TMF już pisał, jak mogą być przydatne wstawki ASM w C. Wstawki!!. Naprawdę daruj sobie pisanie w ASM. Pisz w C i myśl o programie a nie o rejestrach. Niestety nie mam pojęcia jak się za to zabrać. Skup wysiłki nas takimi sprawami. Tak więc bez liczenia taktów mój przykład jest lepszy pod względem prędkości, jak i objętości kodu. :) Niekoniecznie...
Mogę potwierdzić, że asembler z gcc te rozkazy akceptuje. Nie testowałem czy asembler z AS sobie z nimi radzi, ale powinien. W każdym razie symulator z AS nie ma najmniejszych problemów po natrafieniu na nie - prawidłowo je deasembluje i symuluje. Być może wybrałeś niewłaściwy procesor - np. XMEGA128A1 zamiast 128A1U. Tylko ten drugi ma dla nich wsparcie.
Od końca - wiem, bo napisałem obsługę TV na XMEGA :) Dałoby się zrobić RGB, jedynym problemem jest pamięć - taki obraz zajmuje jej naprawdę dużo (robiłem 320x200/256 kolorów, 64000 bajtów). Wymaga to więc dodania modułu pamięci, a to już się robi powoli skomplikowane elektrycznie - chociaż akurat dodanie do XMEGA zewnętrznego SRAM nie jest trudne, bo...
Dzielenie przez 8 to nic innego jak przesunięcie o 8 bitów w prawo, czyli w przypadku 8-bitowych procesorów wywalenie najmłodszego bajta wyniku. Dzielenie prze 8 to nie przesunięcie o 8 bitów w prawo, tylko o 3 bity. Do autora: dzielnie wlaczysz, tracisz czas, a na końcu koledzy podsyłają ci funkcje arytmetyczne zaimplementowane w C. Jaki jest więc...
A jaka to róznica jak masz go skompilowanego w pliku obiektowym. Linkujesz tylko ze swoim asemblerem. Dodano po 31 PS - oczywiście najpierw musisz skompilować plik w C Jeszcze dwie rzeczy: 1. Czy font jest z lewa na prawo, prawo na lewo, góra - dół czy dół - góra to jest niewielka zmiana logiki programu. 2. Pisanie wyświetlania fontów w asm to pomysł...
Coś te flagi przecież ustawiło... Najpierw włączasz obsługę tych przerwań, potem włączasz podciąganie pinu to flaga już ustawiona...a kasowana jest przez AVR sprzętowo kiedy obsługiwane jest przerwanie. Bascom nie musi obsługiwać żadnego kasowania flagi przerwania bo robi to sam procesor tyle, że w przerwaniu (jednym w wyjątków potwierdzających regułę...
Nie wiem czemu ale jakoś do mnie nie dociera że microchip "łyknie" atmela, po co atmel opracowywał by xmega by oddać to za końskie caco ;] ...
Hurra, hurra, Napisałem w osobnym proj. tylko main.c: i poszło , poprzednie próby robiłem w 8-mio plikowym projekcie , i nie chciało , ale teraz już dam sobie radę - gdzieś coś się "pokiełbasiło" ps. AVR bez typu 24 bit ? dla mnie nie do zaakceptowania , i tak bym nie darował :D , prędzej wróciłbym do asemblera .
Użycie DMA ma sens jeśli robsz w miarę proste przesłanie z punktu A do punktu B, najlepiej jeśli ta operacja może odbywać się asynchronicznie w stosunku do reszty kodu i jeśli przesyłana ilość danych jest duża lub przesłąnie zależy od jakiegoś czynnika, np. pojawienia się danych na USART, SPI, czy innym wolnym ukł. peryferyjnym. W twoim przypadku DMA...
Jeśli mogę coś doradzić, to na początek nie staraj się porównywać asm do C, porównując krótkie fragmenty kodu możesz poczuć się sfrustrowany. Zacznij pisać w C, a optymalizacje zostaw na później, wtedy kiedy będą naprawdę potrzebne. Jak rozwiązać problem przy pomocy makr możesz podglądnąć w Atmel Studio klikając prawym przyciskiem myszy na GPIOR i patrząc...
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...
Czy ten zapis jednoznacznie świadczy o fakcie pisania w ASM ? Usartc0_data = zmienna Gdyby to było w asemblerze, to zapisałbyś to jakoś tak: [syntax=asm] LDS R24,ZMIENNA STS USARTC0_DATA,R24 lub z użyciem rejstrów indeksujących: LDIZL,LOW(USARTC0_base) LDI ZH,HIGH(USARTC0_base) LDI XL,LOW(ZMIENNA) LDI XH,HIGH(ZMIENNA) LD R24,X STD Z+0,R24[/syntax]...
To jest zwykła matematyka jak potrafisz uprościć wielomian uprościsz zapis w asemblerze tylko co tu upraszczać jak tam są operacje zajmujące pojedyncze cykle zegara ?
Tak jak pisałem, obsługa przerwania ze względu na uwarunkowania kompilatora jest piekielnie długa i naprawdę na tym nic nie zyskujesz. Zobacz jak wygląda wygenerowany kod asemblerowy nawet dla prostej funkcji. Piszesz o sprawdzeniu stanu klawisza co chwile, a czym to się różni od sprawdzania co chwilę flagi, którą zmienisz w przerwaniu? Chyba, że masz...
Książki o których piszesz nie były pierwszymi o AVR. Pierwsza pojawiła się co najmniej 7 lat wcześniej. Jak popatrzysz na rozwój portu gcc dla avr to zauważysz, że wcześniej nie było większego sensu pisać o c dla AVR, stąd dużo wcześniejsze książki poruszają inną tematykę (asembler, BASCOM). Co do kursów i książek - IMHO jeśli zajmuję się czymś profesjonalnie...
A to ma być coś na AVR? Jeśli tak, to kup sobie moduł Xplained XMEGA-A1 - masz tam 2x12-bitowy ADC + 2x2-kanałowy 12-bitowy DAC + 8 MB SDRAM. Jeśli niekoniecznie AVR to warto się zastanowić co znaczy "obróbka sygnałów analogowych" - może jakiś moduł rozwojowy z VS1063? Masz tam pełny procesor DSP + niezbędne tory analogowe (line/mic-in, line out), producent...
Temat rzeka-czy AVR czy PIC. Zaraz rozgorzeje debata zwolenników jednej i drugiej opcji. Ja zaczynałem od AVRów. Wtedy ich przewaga polegała na tym, że programator do portu LPT kosztował grosze(dla ryzykantów to wystarczyła wtyczka DSUB25 i kabel). Dodatkowo miałem je w programie studiów więc coś było łatwiej. Nie są one złe-mają pewne wady które trochę...
Czyli z tego co wywnioskowałem, ogarnąć 8051 we wszystkich aspektach, żeby jakoś zaznajomić się dokładnie ze wszystkimi funkcjami, a następnie zająć się jakimś AVR atmega itp? Nauka '51 obecnie do niczego ci się nie przyda, to bardzo stara architektura, pokazująca tylko jak wiele w ciągu ostatnich 40 lat zmieniło się w projektowaniu mikrokontrolerów....
Ale Atmel Studio nie wymusza na tobie korzystania z C++. Możesz symulować kod w asemblerze, C i C++ oraz wszystkim co jest w stanie wygenerować plik elf zawierający informację dla debugera. Powodzenia na przyszłość :)
Zamiast książek zapoznaj się z 9. rozdziałem specyfikacji USB. Jeżeli to USB 2.0, to pobrać możesz tutaj: http://www.usb.org/developers/docs/usb20... Możesz też poszukać opisów dla klasy CDC i wtedy będziesz mógł świadomie kształtować zachowanie urządzenia. Reszta to tylko otoczka. Przyznaję, że ktoś w ST trochę to wszystko skomplikował próbując...
Kwestia ustawień kompilatora, u mnie: [syntax=c] TypBity0 *Bity1 = (TypBity0*)&GPIOR0; Bity1->bit0 = 1; 24c:00 9a sbi0x00, 0; 0 [/syntax] [syntax=c] #define Bity0 (*(volatile TypBity0*)&GPIOR0) Bity0.bit0 = 1; 24c:00 9a sbi0x00, 0; 0 [/syntax] czyli jak widać jest ok, na XMEGA256A3BU. Niemniej trzeba sobie zdawać sprawę z tego, że kompilator może ale...
Nie znam języków wysokiego poziomu - więc program jest w asemblerze, ale jeszcze raz powtarzam - nie przypisuję go sobie, ja go jedynie dostosowałem do moich potrzeb. Nie jestem programistą ale wydaje mi się że w zastosowaniach gdzie priorytetem jest określony czas obiegu pętli (np w falowniku) asembler się najlepiej sprawdzi, bo mamy kontrolę nad...
Jeśli kolega ma zamiar pisać poważne programy a z objętości kodu można wywnioskować że hello world już kolega przeskoczył najwyższa pora by przesiąść się do bardziej profesjonalnego środowiska . Wydanie prawie 500PLN na Bascoma to strata pieniędzy . Za taką sumę może kolega zakupić np DRAGONA I XPLAINA z 1284p lub oryginalny JTAG ICE3 i ściągnąć w pełni...
Wprawdzie nie korzystam z płytek arduino z jego środowiskiem programowania (w arduino klikam tylko przy okazji ESP8266), ale na Twoje pytanie o WS2812 mogę odpowiedzieć, że diody WS nie sterujemy PWM. Wystarczy zajrzeć do datasheet tego produktu, żeby się przekonać, że sterowanie nimi jest bardzo krytyczne w sensie formowania impulsów czasowych - setki...
Typ bool masz też zdefiniowany w stdbool.h. Zdefiniowanie zmiennej jako bool czy _Bool nie spowoduje, że dostęp do niej będzie w jednej instrukcji. AVR nie ma po prostu takich instrukcji. Chyba, że to nowy rdzeń XMEGA, ale nawet wtedy odpowiednie operacje trzeba by zrealizować jako makra/funkcje w asemblerze.
Asembler, dlatego warto umieszczac strony na granicy rownych adresow, np. 0x8000-0xFFFF, wtedy nadmiar i niedomiar latwo stwierdzic, oczywiscie i tak trzebaby wykonywac porownanie, ale tylko jedno i w dodatku proste (jedna instrukcja), co wydluzy transfer o ok. 25% lub mniej. Mozesz zastosowac XMega, ona ma duza przestrzen adresowa, ale rejestry RAMP...
Poprostu chce się krok po kroku nauczyć programowania mikrokontrolerów.W internecie znalazłem przykładowe filmiki czy artykuły o migających diodach. No nie jest to za ambitne, chodzi mi o to czy jak już trochę się nauczę czy będzie to można dalej wykorzystywać. Właśnie dlatego zaczyna się od migania diodami, żeby uczyć się krok po kroku. Miganie diodą...
Prawda jest także taka, iż ARM jest obecnie popularny, a większość osób na nim pracuje i coraz ciężej będzie znaleźć kogoś kto zrobić coś konkretnego na AVR Popularny jest wśród profesjonalistów którzy potrzebują szybko i tanio napisać, ale jest też kupa amatorów i wśród nich ja którzy wolą avr-a, tym bardziej że wyszły nowe i mają wiele rozwiązań...
Oczywiście masz rację, dla EGA czy VGA w takim podstawowym trybie AVR odpada. Chociaż też nie do końca - można wykorzystać SPI lub UART, wtedy za jednym wpisem generujesz 8 pixeli i dot clock rzędu 16 MHz, a nawet 25 (dla XMEGA) jest realny. Oczywiście będzie to sztuka dla sztuki i obraz mono lub z paroma koloramy jeśli się wykorzysta np. 3 kanały SPI.
Wszystko działa prawie idealnie. Prawie dlatego, że nie chce mi przesuwać maski. Z jakiego powodu ? robiw , dodam, że sposób, do którego podałeś link jest względnie dobry. Niestety posiada trzy pętle For. Nie wiem czy to prawda, gdzieś czytałem, że Bascom masakruje pętle For. Tak czy owak trzeba odczytać kod ASCI i przydzielić mu adres czcionki. A co...
Tak jak pisałem, ciągle nie jest to problemem dla współczesnych mikrokontrolerów. Sam pomiar realizowany jest sprzętowo, przez układ licznika wbudowany w mikrokontroler. Nawet proste AVR8 spełniają te założenia, taktowanie do 20 MHz, a więc teoretyczna rozdzielczość pomiaru to 50 ns, z tej samej serii XMEGA - 32 MHz, przy czym liczniki mogą być taktowane...
Jeśli chodzi o programowanie samej kości to posiadam programator willem programować mogę nim między innymi: AVR 90S4433 i z tego co zauważyłem ma on takie same wejścia/wyjścia jak atmega8, czy w związku z tym będę mógł zaprogramować nim atmega8? Nie wiem, jedno i drugie to staroć. Chcesz zostać kustoszem w jakimś muzeum techniki? Kup sobie porządny...
Mam już napisany w dużej mierze program w asemblerze pod mikrokontroler Atmega16. Xmega to inna architektura i robienie wszystkiego od nowa. Przetwornik A/C 10-bit to dość mało. Wykorzystując wewnętrzny komparator i wzmacniacz odejmujący dodałem jeden bit, ale to i tak za mało. Dobry jest MCP3302, bo ma 13-bit, ale interfejs to SPI. Piny SPI mam już...
Przez DMA nie da się, bo te rejestry musiałyby leżeć w kolejnych komórkach pamięci. Z drugiej strony to dlaczego tak dziwacznie podłączyłeś ten kontroler? Nie lepiej było wykorzystać normalną szerokość szyny danych - 8-bit i całość podłączyć pod interfejs pamięci zewnętrznej? W takim układzie cały dostęp realizowany jest sprzętowo i można używać DMA....
Piotr tu ma rację nie ma spi mode w 128 chyba że zrobimy przesiadkę na 1281 . obsługa spi przy dużej szybkości niestety pożera sporo mocy obliczeniowej tak przy przerwaniach jak i przy czekaniu w bezczynnej pętli bo tam to już nie robi się zupełnie nic równie dobrze możesz w takim przypadku zrobić programowe spi będzie w prawdzie 2 razy wolniejsze od...
Dwa, ok, można odczytując rejestr rozszerzyć go do 32-bitów, a co jeśli dane są już w rejestrze? Trzeba wykonać dodatkową instrukcję, bo MUL działa tylko na typie 32-bitowym. Poza tym te zagadnienia mnie miernie interesują, bo używam C, a do asemblera zaglądam rzadko, jako że nie jestem paranoikiem i nie doszukuję się błędów w kompilatorze. Prawdę...
Nie mam pojęcia jak działa bascom. Jak to ktoś kiedyś na elce stwierdził - "bascom dzielnie walczy z problemami nie występującymi w innych językach"... W C uzbrojenie DMA to zwyczajnie parę zapisów do SFRów procesora; żadnych wstawek asemblerowych nie ma potrzeby pisać, a często jest to wręcz nie wskazane. Jak modyfikować surowe SFRy pod bascomem -...
Oczywiście że nie ma napisane w nocie otwarcie. Ale jak sobie wyobrażasz przekazywanie na wyjście poszczególnych bitów jak nie szeregowy rejestr przesuwny? Mam w opracowaniu matrycę diod i śmiga. Poszukaj mojego wątku na temat xmegi i WS2812B. Co do poradnika, owszem fajny do wytłumaczenia na początek i dla jednej linijki. Ale pomyśl sobie o panelu...
Obsłuży przy 16 MHz i programowaniu w asemblerze lub wstawkach i NAKED. Czyli - jak się dobrze nagmnastykujemy, to może uda nam się uzyskać to samo, co na każdym Cortexie mamy bez asemblera, bez problemów i taniej, z dużym zapasem mocy obliczeniowej. Ponadto ATmega jeśli obsłuży te 260 k przerwań UART czy SPI, to nie może obsłużyć żadnego innego przerwania,...
Witam, bawię się jako początkujący procesorami ARM i Xmega. I mam kilka przemyśleń, nie wiem czy słusznych. Zależy mi na bardzo szybkiej reakcji na przerwanie zewnętrzne INT. I tu jest moja wątpliwość, otóż co z tego, że taktowanie wynosi 72MHz, jeżeli w każdym przerwaniu zewnętrznym muszę najpierw dać ifa sprawdzającego skąd ono pochodzi czyli np:...
O ile pamiętam to tmf w jednej z książek pokazywał właśnie ADPCM na Xmedze :D A projekt... niezły bajer, ale taka ilość asemblera przyprawia o ból głowy. Ciekawe ile godzin na to zeszło autorowi. <obowiążkowa uwaga o wydajności 32-bitowców> A lepsze ARMy uciągną nawet Opusa zaimplementowanego w C. ;) </obowiążkowa uwaga o wydajności 32-bitowców>
Brakuje w tym zestawieniu możliwości wyboru kilku opcji oraz możliwości "Inne". Bo w moim wypadku wygląda to tak: AVR - od tego startowałem i do mniejszych projektów zdecydowanie fajne procki. Aczkolwiek pewne rozwiązania mocno mnie w nich denerwują (progmem np. albo brak remapowania pinów). Z tego względu skłaniam się raczej do MSP430 czy Cortexa M0...
No tak chciałem właśnie przeglądnąć te dane katalogowe :) Tak podejrzewałem ale na pierwszy rzut oka oceniłem dosłownie na rzut oka :) no cóż w szkole wszystkiego nie naucza a na pewno nie nowości. Gdzieś ten model widziałem jednak on już 250 zł kosztuje to już sporo załóżmy że szukamy czegoś do 200zł Dodano po 22 nie poznałem innych uC jak atmega8...
mirekk36 , obecnie szykują się poważne zmiany w BASCOMie. Powoli dodawane są układy XMEGA, tworzone jest nowe IDE (Wreszcie mają być projekty!). Chodzą też słuchy o BASCOM-ARM, choć osobiście sobie tego jakoś nie wyobrażam. Ja o tych "słuchach" szłyszę już od wielu miesięcy ;) .... i nadal nic. Przypomina mi to sytuację z próbą wyprodukowania przez...
Zarys. AVRy to sympatyczne uC (mikrokontrolery) firmy znanej chyba wszystkim z produkcji legendarnej "51" z pamięcią Flash - http://www.atmel.com . Rodzina ta należy do procesorów RISC - choć lista rozkazów jest dość rozległa Smile. Większość rozkazów wykonują w JEDNYM takcie - w przeciwieństwie do np. 12 taktowych MCS-51. Dodatkowo posiadają mechanizm...
a nie mam zamiaru uczyć się peryferii, asemblera tylko dlatego, Assemblera na ARM? Na AVR piszesz w ASM? tylko dlatego, że będę miał 32 bity do dyspozycji, Więcej ram, SPI, I2C, RAM, FLASH, DMA często w niższej cenie niż AVR. Mógłbym zasypać przykładami, gdzie AVR, nawet Xmega, nie ma szansy zrealizować zadania. atxmegi w zupełności mi wystarcza. AVRtiny/mega...
Trochę nie na temat, ale nie uważasz, że nowe Megi to pudrowanie trupa? Chodzi o stosunek ceny do możliwości. Nie dziwię się, że Mega nie ma DMA, bo i niby po co? Gdzie stworzyć bufory dla DMA, np w przypadku LCD? Jak sensownie wykorzystać RTOS? Na te zadania potrzeba RAM. Jedyny sensowy Mega to 1284 z 16kB RAM. Tam DMA coś by dało a tak mamy przerwania...
Interfejs równoległy to tylko konieczność skorzystania ze scalonego drivera, np. czegoś z serii xxx245. SPI z konwersją na tranzystorach i tak ci na 20 MHz nie pójdzie, zresztą ATMega taktowana z 20 MHz ma max SPI 10 MHz. I tak to karkołomne zadanie na tranzystorach. Swoją droga transfer danych to nie tylko same dane o obrazie, ale i instrukcje sterujące....
a czy pamięć może się rozrosnąć magicznie? Masz to narysowane w DS Poniekąd może. W klasycznych AVR bootloader jest wykrojony z FLASH dla programu, ale w XMEGA jest to dodatkowy obszar FLASH, poza FLASH dla programu. Załóżmy, że piszę w języku C w Atmel Studio, chcę napisać program bootloadera i główny. Muszę tworzyć dwa osobne projekty i generować...
Przesadziłeś z tym słodzeniem i prosiłbym żebyś wyedytował swój post bo nie lubię sciągać na siebie uwagi :P Są osoby z dużo większą wiedzą tylko pewnie nie mają już ochoty się użerać z tymi atakami. Tak więc lepiej nikogo nie drażnić. Ahahahahaha :D Po prostu lubię programowanie. Obecnie pisze coś na PIC18 w C więc nie klikam tylko w tym Bascom. Sprawa...
Piszecie koledzy o książkach nowych i starych przyznam że mam ich sporo i większość o AVR i podobnej tematyce . W zasadzie piszę wszystko w asemblerze bo jakoś nie mogę się do C przekonać męczy mnie ta rozwlekła składnia . Mam książkę kolegi TMF i obie pozycje kolegi Mirka K . w każdej jest cos , i czegoś nie ma ... Generalnie nie ma książki idealnej...
Tak z ciekawości, na czym polega ta asemblerowa gimnastyka dla WSa na AVR? Bo z tego co wiem to i na ARM i na AVR korzystasz z SPI/UART i tu żadnych różnic nie ma. A jak wykorzystać spi/uart w trybie slave? Nie czytasz dokładnie. To dotyczyło WS2812. Dodano po 4 Zauważ, że autor wyraźnie stwierdził, że do implementacji nie używa hardware, co jest głównym...
grko napisał: IMO nieprawda a czy Xmegi przypadkiem nie mapuja przypadkiem eepromu do data memory ? Tak, w tym przypadku można włączyć mapowanie EEPROM do SRAM, co ma też tą zaletę, że można programować EEPROM stronami (co bywa nawet 32x szybsze niż programowanie komórka, po komórce). Wiem, że w niektórych uC występuje interfejs XMEM, który obsługuje...
...uważam używanie AVR-ów w nowych konstrukcjach za nieporozumienie. Droższe, wolniejsze, uboższe, przestarzałe. Microchip gwarantuje ogólnie dostępność produktu przez 10 lat od wprowadzenia. Atmel wprowadził Xmegi (128A1) na początku 2008 roku. Od 2013 roku te układy mają status NRND. Nowsze, 128A1U zostały wprowadzone w 2011, więc za 3 lata pewnie...
1. Podrzucę Ci pomysł, pomocny lub nie. Zrobiłem PWN Atmega8 (czyli straszny dziad) generator miłego dla ucha sinusoidalnego dźwięku (w oparciu o przerwanie timera). Czystość uzyskałem, gdy na samym początku przerwania ustawiałem wartość ze zmiennej do PWM, a potem mogłem ją sobie opracowywać "na nastepny raz" do woli, nieczuły że obliczenia (mnożenia,...
W takim razie tylko rodzina 8051 np. AT89S8252. programowany przez SPI tak jak AVRy. 8KB flash, 256B IRAM, w miarę rozbudowany jak na standardową 51 można podłączyć zewnętrzny RAM z którego da się uruchamiać programy. Jest jeszcze AT89S8253, który zamiast 8KB flash ma ich 12KB, reszta ta sama. Natomiast nie są to funkcjonalnie odpowiedniki ATMEGI 8,...
Co około 10uS będziesz otrzymywał bajt danych z którym musisz coś zrobić, w dodatku nie jest to jedyna rzecz, jaką musisz robić. Trzeba z tych danych coś policzyć, jakoś przerobić. Jeszcze musisz obsługiwać swoją pamięć i inne rzeczy. Jak Ci się wydaje, czy jakikolwiek 8bit avr czy pic da radę ? Nie przesadzajmy, 10us to wieczność, nawet dla 16 MHz...
W xmega nie przełacza się zegarów za pomocą fusebit. Przełącza się źródło sygnału w programie. Przykład jest umieszczony na stronie Atmela pliki AVR1003.pdf i AVR1003.zip [url=http://www.atmel.com/dyn/products/a... Przykład jest w C ale to nie problem w asemblerze ustawić odpowiednio te same rejestry (w tej...
Myślę, że najodpowiedniejszym wyborem na początek będzie jakiś mikrokontroler z rodziny AVR z tego względu, że nie są to bardzo skomplikowane układy i pozwolą ci poznać podstawy .Do tego polecam dobrą książkę i tutaj mogę zaproponować: "AVR i ARM7. Programowanie mikrokontrolerów dla każdego" autorstwa Pana Pawła Borkowskiego .Według mnie dla zupełnie...
BASCOM i wydajność - to się nazywa oksymoron. Żeby wyciągać jakieś sensowne wnioski trzeba by użyć sensownego kompilatora, który generuje sensowny kod. Bo tak to tylko testujesz jakość Bascoma, a wszyscy wiemy, że jako zabawka jest ok, ale bądźmy poważni :) Teoretycznie na M128 taktowanej 16 MHz, SPI może być taktowane 8 MHz, czyli możesz uzyskać transfer...
Długo zastanawiałem się, czy utworzyć w tym dziale nowy temat, zwłaszcza, że lektura kilku wyrywkowo wybranych wątków ustawiła mnie w szeregu (oczywiście na szarym końcu). Niepotrzebnie. Jak już ktoś programuje, to im więcej złożonych programów napisał, tym bardziej rozumie jak daleko jest w tym szeregu. Tutaj trzeba się stale uczyć i zawsze jesteśmy...
(at)tmf Trochę offtopic, ale czuję się wywołany do odpowiedzi w poście #9. Czy można zrobić na AVR32 kartę dźwiękową w systemie 7.1 podłączaną przez USB, która może również odtwarzać i nagrywać dźwięk na kartę pamięci? Ta karta ma również regulację głośności każdego z kanałów, korekcję opóźnienia czasowego każdego z kanałów i funkcję analizy i korekcji...
Który z AVRmega ma dwa I2C? A programowo kolega nie umie zrobić? Działa i to dobrze. Ardymenty sie kończą czy kolega chce zabłysnac wiedza na temat I2C? "Ardymenty" się nie kończą ale myślałem, że kolega trochę o tym poczyta i coś z tego, co wyczyta, rzuci mu się w oczy w odniesieniu do kontekstu wątku.Widocznie się przeliczyłem Zaczyna się komplikować...
Trochę już odbiegliśmy od głównego wątku, ale nikt nie narzeka, więc ok. Na szybko: Dokument Atmela, który podałeś nie dotyczy gcc, to stary dokument. tak tak, wiedziałem o tym, że był pisany pod kątem IAR. W każdym razie sporo zasad jest tam uniwersalnych. Chociażby kwestia optymalizacji globalnych flag - bo to dotyczy już przestrzeni adresowej AVRek...
(łącznie z kursem C) Najlepsza rada tutaj. Ucz się C. Każdy procesor różni się jedynie rejestrami peryferiów. Szkoda czasu na zgłebianie asemblera. Jest tu Kolega, który męczy Xmegę w asm ale problem ma ze zrozumieniem zasady działania peryferiów, a pisanie w asm na pewno mu w tym nie pomaga (chociaż pewnie uważa że jego programy osiągną WARP 8). Jak...
Tzn ? Jak musze pokazac to kompilatorowi ? Wydawalo mi sie ze wystarczy odpowiednio ustawic SRL2..0, XMEM,SRW, itd... a co jeszcze zrobic z kompilatorem ? Uzywam (a raczej bede AVR Studio + chyba winavr do C) w asemblerze nic nie trzeba robic oprucz tych bitów. w językach wyższego poziomu należy natomiast zdafiniowac ilość ramu. w bascomie należy zaznaczyć...
I jest rezultat mej nauki Asemblera. LPM , zamiast ELPM . Owszem, w XMedze ELPM działa w SRAM, ale nie ma go chyba w ATmegach.
xmega częstotliwości mikro xmega xmega zegar
szarpie wymianie pompy mieszacz bf966 oporniki radia
ogrzewanie basenu ogrzewanie basenu
Jak uzyskać dostęp do katalogu .storage w Home Assistant? Wymiana miski olejowej w Jeep Grand Cherokee 2005 3.7L