Jest jeszcze coś takiego jak kontroler przerwań, więc należałoby włączyć obsługę przerwań dla jednego z poniższych poziomów, które wybrałeś (nie wiem czemu masz zaznaczone dwa poziomy). ADCA_CH0_INTCTRL |= _BV(0);//ADC_CH_INTLVL0_bm; //włączenie przerwania ADCA_CH0_INTCTRL |= _BV(1);//ADC_CH_INTLVL1_bm; //włączenie przerwania Do tego...
Domyślnie Atmel Studio w czasie debugowania blokuje przerwania podczas śledzenia krok po kroku, co ma za zadanie ułatwić śledzenie funkcji. Dodatkowo przerwanie od USART wystąpi bardzo późno - dopiero po wysłaniu bajta, co może trwać nawet kilka tysięcy cykli CPU.
W asemblerze ci nie napiszę, bo to niewygodne, ale musisz: skonfigurować rejestr kontrolny portu, tak aby następowało zdarzenie przy zboczu opadającym, odblokować przerwania portu IO poprzez określenie ich poziomu, odblokować dany poziom przerwań w rejestrze kontrolera przerwań i odblokować globalne zezwolenie na przerwania (sei). No i oczywiście napisać...
Nie odblokowałeś w kontrolerze przerwań przerwań o najwyższym priorytecie, które generuje ADC. W XMEGA układ peryferyjny generuje przerwania o trzech różnych poziomach, które trafiają do kontrolera przerwań, który je przekazuje dalej jeśli dany poziom jest w nim odblokowany i dopiero dalej masz flagę I zmienianą przez sei(), i obsługę przez CPU.
Zacznij od przykładu klasy CDC (port COM). Skompiluj i spróbuj zrozumieć przynajmniej częściowo budowę deskryptora, zawarte w nim informacje i jak się komunikować z hostem (PC). Później skompiluj przykład dla HID i podobnie zapoznaj się z budową deskryptorów oraz ich zawartością. Jak już będziesz wiedział co w nich siedzi, to wtedy będziesz potrafił...
Co prawda nie do enkodera, a do czujnika HC-SR04, ale reguła ta sama, pomiar szerokości impulsu. Zrobiłem to na systemie zdarzeń. Kod: [syntax=c]// konfiguracja systemu zdarzeń pod czujnik HC-SR04 EVSYS.CH0MUX=EVSYS_CHMUX_PORTD_PIN1_gc; // źródłem eventu pin PD1 PORTD.PIN1CTRL=PORT_ISC_BOTHEDGES_gc; // ustawienie przerwania na oba zbocza TCD0.CTRLB...
Tak, należy włączyć optymalizację co najmniej na -Q1, a najlepiej na -Qs - inaczej zmiana taktowania nie wystąpi w ciągu maksymalnie 4 taktów od zezwolenia. Przy okazji - jeśli na tym etapie masz odblokowane przerwania, to zmiana źródła zegara wymaga ich zablokowania - jeśli wystąpi przerwanie to nie zmieścisz się w czasie.
Heh, siedzę i nie daje mi to spokoju. Kod który napisałeś - nawet nie czytam bo w C piszę od niedawna ale tylko na ARM'y czy też na LPC i nazwy rejestrów itp nic mi nie mówią. Moja koncepcja jest taka: Uruchamiasz 1 timer z przerwaniem co 50ms.(dlaczego co 50?). W przerwaniu 1 timera uruchamiasz 2 timer. Ustawiasz przerwania 2 timera, w każdym przerwaniu...
W przypadku ATmegi wykorzystałbym przerwanie ICP. W ATxmega pewnie jest coś podobnego.
A ja przewrotnie zapytam o jaki AVR ci chodzi? Gdyż np. ATXMega mają priorytety przerwań.
Tego jitteru w żaden programowy sposób nie wyeliminujesz. Jego powodem jest to, że wejście w ISR trwa nie zawsze tyle samo - XMEGA wykonuje instrukcje w ciągu 1, 2 lub 3 taktów, a ISR nie przerywa instrukcji, lecz CPU musi ją najpierw dokończyć. Więc w zależności od wykonywanej instrukcji już masz jitter 0-2 taktów. Do tego, jeśli MCU wykonuje inne...
Witam, chciałbym rozbudować kod znaleziony tutaj: http://mikrokontrolery.blogspot.com/2011... Na razie chciałbym dodać obsługę timerów, niestety przerwania nie działają ;/ Sprawdzam działanie przerwań za pomocą JTAGa (Atmel ICE) i stawiam breakpoint'y w funkcjach obsługi tych przerwań, niestety program...
Wiele makr jest źle napisanych (nie przemyslane użycie inne niż pojedyncze, i dają chore efekty oboczne). Tyle mi fusy od kawy powiedziały.
Do obsługi przycisków NIE używa się przerwań zmiany stanu, a przerwania timera (w którym programowo testuje się stan przycisków). http://mikrokontrolery.blogspot.com/2011...
(at)WaldekMarek Owszem, da się zliczać bajty wysyłane przez SPI - jeśli masz moje książki, to powinieneś wiedzieć jak :) Ale tak jak pisze (at)GrzegorzKostka wykorzystanie DMA nie za bardzo ma sens. Ten LCD jest wolny i nie ma potrzeby jakoś szczególnie szybo przesyłać dane. Prościej jeśli musisz zaprząc w to wszystko przerwania. Zresztą masz w przykładach...
Przepraszam ale nie rozumiem jak mam to wykonać. Za pomocą jakiej funkcji mam sprawdzać czy oczekuje jakiś znak? Przeglądałem Pana książkę i zastanawiałem się czy można "wkręcić" w to wszystko UART na przerwaniach ("czyszczenie" flagi w funkcji realizującej odbiór znaku). Zastanawiam się tylko czy jest możliwe (przepraszam jeśli zadaje idiotyczne pytania...
Ale dokumentacja ASF już mówi wszystko. A jak masz wątpliwości to zajrzyj do wspomnianych funkcji wysyłających i odbierających bajty. Implementacja CDC Atmela oparat jest o bufory i przerwania, więc bez problemu można zrobić nieblokującą obsługę. Zajrzyj do kodu źródłowego, a szybko zrozumiesz jak to działa.
Dziękuje za odpowiedzi, spróbuję z wejściami generującymi przerwania. (Spróbuję wykorzystać dwa wejścia dla 2 transoptorów) ATXMEGA odpada z powodu braku programatora. Znalazłem też Atmega1284p w DIP40 (smd odpada) tylko nie jestem pewny czy programator USBasp poradzi sobie z zaprogramowaniem tego mikrokontrolera. Pozdrawiam.
Zapewne można i tak. Na razie nieco ogranicza mnie programator, nie mam takiego, który programowałby AtXmega ( przez PDI ). No poza przeczytaniem paru zachwalających ten układ opisów nie mam żadnego doświadczenia z nim. Przeglądając notę nie widzę przerwań ( do których jestem przyzwyczajony ). Wiem, że AtXmega ma DMA. Zapewne wystarczyłaby AtXmega z...
Jedno USB jest do tego uC a drugie wyjście USB będzie do innej płytki też z uC tylko że zasilanie będzie pochodziło z tej płytki i wszystko musi być puszczone maksymalnie jednym kablem USB czyli 4 żyłowym, ale ten pomysł to chyba tylko ja zrozumiem :D. Jaki daje na wyjściu sygnał? Jeśli daje cyfrowy to można wyokrzystać QDEC z XMEGi. Jeśli daje jakiś...
Witam wszystkich. Próbuję uporać się z moją pracą dyplomową. Za pośrednictwem SPI chcę wysłać odpowiednie komendy do wzmacniaczy programowalnych MCP6S91 i MCP6S92 , które w zależności od bitów będą miały odpowiednie wzmocnienie. Niestety nie mogę się uporać z problemem komunikacji. Schemat urządzenia jest we wcześniejszym temacie [url=https://www.elektroda.pl/rtvforum/t...
Dzięki Rafale za info. Znaczy, że Atmel to zwalił :( Ponieważ potrzebne mi jest to obsługi LCD, to i tak czekam na koniec wszelkich transmisji. W tym momencie, gra nie warta świeczki (znaczy edukacyjnie można), ale wydajnościowo, to niestety kiepsko. Według tmf w książce "Praktyczne projekty" na wstępie do DMA jest mowa, że zgrabna pętelka potrzebuje...
Nie jestem pewien, czy Pan Tomasz zgadza się na publikowanie jego kodu z książki, a moje próby w całości oparte są na tych kodach. Piszesz, że F_CPU nie determinuje częstotliwości zegara tylko (jeśli to dobrze rozumiem) służy kompilatorowi do wyliczeń innych parametrów jak np delay czy baudrate. Racja, bo skąd kompilator ma wiedzieć, jaki kwarc fizycznie...
Witam W ostatnim czasie próbuję zapoznać się bliżej z procesorem ATxmega64B3. W ramach testów zająłem się tematem flag (czyli zmiennych bitowych), które mogą być zmieniane zarówno w pętli głównej jak i w przerwaniach. Jak wiadomo temat ten ściśle związany jest z zagadnieniem zapisu/odczytu atomowego. Ponieważ bitowy zapis/odczyt atomowy najłatwiej jest...
Witam, Nie pokazałeś jak zorganizowany jest odbiór w SLAVE. Kiedy ustawiany jest znacznik BUF_status.st_ready i co robi funkcja BUFEmpty? Czy odbiór I2C masz zorganizowany na przerwaniach? Pamiętaj że musisz uwzględnić czas wykonania rozkazów GLCD, chyba że masz podwójny bufor. Pozdrawiam JarekC
Próbuję wykonywać kontrolne pomiary napięcia zasilania w układzie zasilanym bateryjnie (ER14505). Zasilanie procesora prowadzone jest raczej prawidłowo: każda nóżka, która tego wymaga, ma doprowadzone zasilanie wraz z kondensatorem ceramicznym w bezpośrednim sąsiedztwie, dodatkowe układy (transceiver nRF24L01+ i czujnik AM2302) mają swoje dodatkowe...
A gdzie ląduje program po skończonym przerwaniu? while(1){} albo np. procek jest usypiany automatycznie na wyjściu przerwania. Kiedyś testowałem uC na niestabilnym i niskim zasilaniu Też miałem z tym problem. Układ zasilany z CR2032, jak już była słaba to czasem czujnik zewnętrzny się zawieszał i reset nie pomagał, tylko odłączenie zasilania.
Witam Od kliku dni walczę nad implementacją ENC28J60 do Xmegi128A3U. Najpierw udało mi się zrobić malutki serwerek na Atmega32 i działa poprawnie ( bazowany na książce Mirka ). Teraz chcę go przełożyć do Xmega i nawet nie chce go pingować. Przypuszczam że błąd leży gdzieś w SPI. Xmega taktowany zewnętrznym kwarcem 16MHz , SPI - 1MHz, ENC28J60 taktowany...
Korzystając z języka wysokiego poziomu, czyli C lub Bascom uzyskasz takie afekty, że zawsze coś się będzie rozjeżdzało. W Bascomie te efekty będzą napewno wieksze niż w C. Musisz dążyć do tego, aby procedury obsługi przerwania były jak najprostsze i najszybsze , oraz dla wszystkich przypadków takie same czasowo. Jeżeli widzisz że któraś opcja jest zawsze...
a czy zerowanie w jednym momencie 2 liczników powinno załatwić sprawę? TCC0.CNT=0; TCC1.CNT=0; Timer 0 będzie generował przerwania z różną częstotliwością, która będzie zmieniana w czasie trwania programu. Natomiast timer 1 ma odmierzać czas
Witam Mam problem z przerwaniami w Xmedze. Zarówno przy Timerze jak i UART. Najprościej mówiąc uK nie generuje mi przerwań (podprogramy obsługi przerwań nie są wykonywane). Inicjowałem przerwania w danym "urządzeniu", ustawiałem poziom przerwania, aktywowałem poziomy przerwań i aktywowałem globalnie przerwania. Co trzeba jeszcze zrobić?
A co jest złego w wyzwalaniu przez event system? Nie napisałem, że jest w tym sposobie coś złego. Interesuje mnie czy jest inny sposób sprzętowy oprócz przerwania zewnętrznego z pinu mikrusa. Inna opcja to klasycznie - przerwaine i w jego obsłudze wyzwolenie transferu. Odpada. Dodano po 4 Nie za bardzo rozumiem ideę. Z reguły najpierw trzeba sprawdzić...
zacząłem odchudzać program żeby wkleić i doszedłem co szwankowało. Miałem zmienną o tej samej nazwie zdefiniowaną w dwóch funkcjach lokalnie jak zdefiniowałem ją globalnie zaczęło działać. Nie włączały się przerwania. Nie wiem czemu nie działało teoretycznie powinno ale jakoś po poprawieniu nie mam czasu i ochoty na dociekanie gdzie jest błąd.
Nie, w XMEGA timer funkcjonuje trochę inaczej (lepiej). CTC uzyskasz wykorzystując rejestr PER timera do określania wartości TOP. CNT==PER powoduje zerowanie licznika i wygenerowanie przerwania overflow (opcjonalnie).
Witam, Mam pytanie o układ detekcji przejścia przez zero napięcia sieciowego, z separacją galwaniczną, za pomocą małego transformatora sieciowego 230V/5,5V, przedstawiony poniżej. Wejście "+" komparatora jest wyprowadzone na pin PA1 i podłączone do dzielnika napięcia, a wejście "-" komparatora jest wyprowadzone na PA3 i podłączone do masy. Czyli przejście...
W trybie differential jedno wejście przetwornika podłączam do pinu ADC0(PA0) i podaję tam z dzielnika napięcia potencjał DC 0,5V. Przy ustawieniu napięcia REF wewnętrznego 1V daje to jego połowę. Więc teraz podanie sinusoidy dla której przejściem przez zero jest właśnie pin ADC0 (patrz schemat) to uzyskuję na pinie ADC1(PA1) napięcia dodatnie i ujemne...
Nie wiem jak jest w atxmega, ale jakby coś to zawsze możesz sobie co przerwanie pod koniec zapisywać stan pinów do zmiennej a na początku porównywać tą zmienną z aktualnym stanem. Dzięki temu będziesz wiedział który pin wygenerował przerwanie. Poza tym w atmegach na ten przykład każdy port ma swoją własną flagę. Ale może niech wypowie się ktoś kto zna...
Jakiego typu jest zmienna adc? float? Jakie jest taktowanie IO? Jaki model XMEGA? Generalnie nie podoba mi się to kasowanie flagi przerwania, podobnie odblokowanie układu wzmacniacza na wejściu ADC. Odpal powyższy kod w symulatorze i sprawdź po inicjalizacji czy rejestry ADC wyglądają rzeczywiście tak jakbyś sobie tego życzył.
Dokładnie jak mówisz sprzętowe SPI obsługiwane w przerwaniach. Najszybszą i optymalną procedurę obsługi tego lcd można napisać w asemblerze. Ciekawym rozwiązaniem może być też użycie mikrokontrolera atxmega128A3 i jednego z kanałów DMA ale to już wyższa szkoła...
1. Mierzysz pobór dla całego układu czy tylko dla SD ? 2. Jakich pinów używasz do komunikacji z SD i jak są skonfigurowane ? 3. Spróbuj przed uśpieniem ustawić SCK jako wejście bez PULL-UP'u 4. Sprawdź, czy procesor na pewno wchodzi w PS, i czy jakieś przerwanie go nie budzi zbyt często (np. RTC)
Jeśli podczas trwania jednego przerwania nr1 pojawi się przerwanie nr2 i np do tego w skrajnym przypadku dołoży się przerwanie nr3 to czy wszystkie te przerwania wykonają się poprawnie (równolegle)? 1. Każde ze zdarzeń generuje praktycznie natychmiast tylko ustawienie flagi odpowiedniego zdarzenia. Jeśli wybrano obsługę programową zdarzenia przez przerwanie,...
Kto kupi powolny jak na dzisiejsze czasy AVR za kilkadziesiąt złotych jak za 2-4 razy mniejsze pieniądze ma ARM? Ten kto nie chce się babrać arm-ami? bo rodzą one nowe problemy jak nowe ide, zegary, przerwania, wszystko jest prawie inne niż w avr-ach. Co do nowych avr to dziwi brak dma, uważam to za poważny błąd tym bardziej że już było to w atxmega...
http://obrazki.elektroda.pl/6914408400_1... http://obrazki.elektroda.pl/8024236400_1... ATxmegi to łakomy kąsek dla kogoś, kto już poznał "stare" AVRki - zwiększona szybkość (32MHz!), o wiele więcej peryferiów (5 UARTów! 16 kanałów PWM!), modularna budowa i można używać tych samych dobrze znanych narzędzi. Ale potem...
A najlepiej zmienić procesor na taki z przerwaniami typu PCINT... Jeszcze lepiej, zmienić na taki mikrokontroler co ma DMA + System Event + Timer + szerokość portu IO równą 16, ale niekoniecznie, może być 8. W takim razie całość odbywa się w tle... ale tu chyba tylko ATXMega zostaje z AVR.
Czy prawidłowo zastosowałem się do wskazówki stosując najpierw zapis: OSC.CTRL |= OSC_XOSCEN_bm; a na końcu całej operacji wyłączając 2MHz tak: OSC.CTRL = OSC_XOSCEN_bm; ? IMHO tak jest prawidłowo. Wyłączenie generatora 2 MHz nie jest niezbędne, po prostu zmniejsza zużycie prądu. Stosuję optymalizację Os więc pewnie pomimo mojej niewiedzy wszystko...
Dziękuję za odpowiedź tmf. NOPy są mi potrzebne tylko na początku by wytworzyć przesunięcie 1/2 okresu ADC pomiędzy przetwornikami. Chodzi o to by pomiędzy przetwarzaniami potoków ADCA wstrzelić się z potokami ADCB i faktycznie podwoić częstotliwość. Sprzętowo koniec przetwarzania w ADCA.CH3 ma wyzwolić transfer w DMA0, koniec ADCB.CH3 ma wyzwolić transfer...
Dzięki za komplement "młody ludź" :) wracając do xmegi zainstalowałem AtmelStudio 6.0 i bawię się w mruganie leda. Wkleiłem gdzieś tu z Elektrody taki kod przerwania od timera ale pojawiają się błędy. Proszę na przyszłość używać tagu ] do wklejania kodu... /syntax] . Poprawiłem, LordBlick [syntax=C]#include <avr/io.h> ISR(TCC0_OVF_vect){//test...
program nie wysypie się z powodu braku przecinka i zablokuje proca. Z powodu braku przecinka to jedynie się nie skompiluje. Stm nie można zablokować programowo, gdyż zawsze po reset przywracane są domyślne funkcje portów. Dlatego Znajdż checkbox "connect under reset" Wracając do tematu nowego atxmega, jeśli z ekranem lcd będziesz komunikować się poprzez...
ATMega8 przy kwarcu 16MHz liczyła to spokojnie przy PWMie 40kHz (w znaczeniu że przerwanie i liczenie też było z częstotliwością 40kHz). Zużycie procka było nie większe jak kilkanaście %. Obliczenia 16-bitowe. Na ATXMega było by tylko lepiej. Poza tym chcesz tylko liczyć amplitudę a nie jak ja cały przebieg. Wiem że te kilkanaście % to może dużo, ale...
Nieprawda. Zmiana wypełnienia w przerwaniu jest standardową praktyką przy wykorzystywaniu PWMa. Zmiana preskalera już nie. Nie można użyć trybu 16 bitów dla Timera2. Jak widzisz w moim kodzie te kanały mają nazwy PWM2 i PWM3. PWM0 i PWM1 były z Timera1, jedynego jaki ma 16 bitów. Zatem kombinowanie miało sens. Dzięki niemu miałem 4 wyjścia do serw....
Kolega (at)leonow32 produkuje moduły z uC (ATxmega). Prawdopodobnie jest zainteresowany produkcją takich modułów na MSP430 i w tym kierunku robi badanie rynku. Nie wypisujcie tutaj o tym jakimi innymi uC warto się zainteresować tylko niech wypowiadają się osoby które mają coś do powiedzenia na temat MSP430.. Jako praktyk odbieram ten procesor jako...
Dzięki jeszcze raz! Mam nawet tą książkę, zapoznam się z tym projektem. Co do symulacji, to mam program mocno uzależniony od peryferiów zewnętrznych i do tego dochodzą jeszcze przerwania. Da się taki program jakoś przesymulować nie mając JTAG-a? Obecnie piszę na ATXMEGA128A1U i wykorzystuje interfejs PDI.
I teraz pierwsze pytanie: czy da się zliczać impulsy z zewnątrz używając Timer2? Wtedy bym podpiął do nóżki TOSC. The Oscillator is optimized for use with a 32.768 kHz watch crystal. Applying an external clock to the TOSC1 pin may result in incorrect Timer/Counter2 operation. Jak źle (lub dobrze) jest z tym w praktyce nie wiem. Tylko jeszcze zostaje...
https://obrazki.elektroda.pl/6292773200_... Po długiej przerwie prezentuję urządzenie do pomiarów warunków atmosferycznych zasilane z ogniw słonecznych. Zostało ono wykonane w ramach pracy dyplomowej. Pozwala ono na monitorowanie temperatury, wilgotności, ciśnienia atmosferycznego oraz indeksu UV. Pomiary wysyłane są do odbiornika...
Witam. W przykładach do książki Tomasza Francuza jest obsługa USART w przerwaniach. Kod: [syntax=c] #define MAX_CMD_LEN 10 //Maksymalna długość polecenia w bajtach void USART_init() { PORTC_OUTSET=PIN3_bm; PORTC_DIRSET=PIN3_bm; //Pin TxD musi być wyjściem USARTC0.CTRLA=USART_RXCINTLVL_LO_gc | USART_TXCINTLVL_LO_gc; //Odblokuj przerwania odbiornika i...
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...
Problem jest jednak w tym, że ciągle mówimy tu o 8-bitowym podwórku a to właśnie ono raczej się nie rozwija i mam wrażenie, że rozwijać nie będzie. I tu się mylisz bo są nowe attiny które wyposażone są jak megi a kosztują ułamek. Pewnie 8-bitowce będą ciągle obecne w małych aplikacjach o niskim poborze prądu ale już do nieco ambitniejszych zastosować...
Oki poczytałem troszkę o ATxmega128A1U i powiem , ze jestem bardzo optymistycznie nastawiony właśnie na ten mikrokontroler, można podpiąć duży zewn. SRAM. Ponieważ mam duże ograniczenia językowe (słaba znajomość angielskiego) to nie wiem czy ten układ toleruje logikę 5V, ale zawsze można użyć konwerterów. Zastanawiam się nad jedną rzeczą. układ wykonawczy...
Dziękuję bardzo za odpowiedź :-). 1. Potrzebuję mieć możliwość podłączenia dowolnego wyświetlacza - telewizora, monitora. Projekt z wyświetlaczem LCD zintegrowanym z projektem odpada. 2. Jakby się uparł, mogę wziąć bardziej nowoczesny mikrokontroler, jednak chciałbym, aby był on w technologii przewlekanej oraz aby był w rozsądnej (<40zł) cenie. No...
Witam, Mam problem odnośnie modułu W5100. Mianowicie, po fizycznym resecie modułu (przycisk), moduł zachowuje się w 3 bliżej określonych stanach: 1. działa stabilnie - nie mam nic do zarzucenia 2. działa, ale odbiera tylko niektóre ramki 3. nie działa Opis: Z komputera, za pomocą skryptu, wysyłam ramki w odstępie 100ms do płytki z W5100 i mikrokontrolerem...
Doświadczenie uczy mnie, że dyskusja o wyższości 8bit nad 32bit (czy odwrotnie) będzie trwała tak długo, jak długo obydwa rodzaje procesorów będą dostępne. mam wiaderko AVR-ów i podobne wiaderko ARM-ów, głównie STM32 choć też LPC. Znajdą się też malinki czy wcześniejsze dwurdzeniowe A20. Jak pewnie większość (przynajmniej tych starszych) zaczynałem...
https://obrazki.elektroda.pl/4950580000_... Witajcie moi drodzy W tym temacie poznamy podstawy przerwań i timerów w PIC18F2550 . Na początek będzie krótki wstęp teoretyczny, a potem wszystko przerobimy dokładnie na praktycznych przykładach. Do lektury tematu przyda się ogólna wiedza na temat przerwań i programowania w C, choćby taka...
Cześć wszystkim :) Pracuję nad przeniesieniem kodu pewnej biblioteki do nrf24l01 z atmegi na xmegę (atmega32 -> xmega 128a3). Czytając bibliotekę wybrałem fragmenty z elementami charakterystycznymi dla danego typu procesora, czyli pozmieniałem części kodu związane z rejestrami i przerwaniami. "Zakomentarzowałem" nietknięty oryginał. To, co wstawiłem...
Witam, Miałem krótką przygodę z AVR (asm/C) lata temu, przewinęły się różne ATtiny i ATmegi. Jakoś nie za bardzo mi ten rdzeń przypadł do gustu jak i jego otoczka. Samą firmę Atmel też nie za bardzo trafię za podejście do branży ASIC oraz IP (sprawa z Infineon, export do Chin). No cóż, dla mnie to jakoś słabo wyglądające uC, które jakoś się przebiły...
No właśnie żadna różnica. Stąd nie jest to argument ani za, ani przeciw. Błagam... Nigdy nie realizowałeś projektu w którym założenia zmieniły się w trakcie jego trwania kilkukrotnie? No i teraz posiadanie układu z wieloma bonusami zamiast takiego "na styk" nie jest zaletą? Prawdę mówiąc jeszcze nigdy mi się nie zdarzyło coś takiego. Ilość ADC, timerów,...
Dorzucę się do tematu leonowa32, który podjął się rozpoczęcia kursu Xmega. W wolnej chwili czasu naskrobałem funkcję do uruchomienia generatora kwarcowego i pętli PLL. Dla wartości 16 MHz można ustawić F_CPU 1MHz, 2MHz, 4MHz, 8MHz, 16MHz, 32MHz.Procedura nie wyłącza wewnętrznego generatora RC 2MHz, a do kompletu brakuje konfiguracji przerwania NMI sygnalizującego...
Przy nich nie trzeba się z cyklami tak żyłować jak przy AVR, chociaż na razie jeszcze daję radę Popatrz na atxmegę, też na nią przeszedłem i jest to nowa jakość, peryferii full, zegar łatwo ustawić, fuse bity nie straszą, 3 poziomy przerwań, timerów full no i eventy, na tym można cuda robić. Fajnie się pisze ale trzeba załapać nowe zasady z rejestrami,...
Przerwania będą mi potrzebne do innych celów, poza tym ich obsługa raczej by normalnie obciążała procesor. Pytając o przykłady DMA chodziło mi oczywiście o mój post, czyli wymianę danych pomiędzy układami, może skusze się na XMEGA, jeśli to nie jest bardzo skomplikowane. ATXMEGA32D4-AU nawet nie drogi, tylko jako amatora troszkę mnie niepokoi zasilanie...
Witam Szanownego Kolegę Omniboard! Raczej Piotrus_999 vel stmx. Atxmegi duże znam i też robiłem na nich system, mają prawie wszystko co army oprócz 32bitów które tak naprawdę są rzadko potrzebne A ja właśnie ARM cenie za 32 bity, ponieważ, o czym już pisałem, sprint, scanf i podobne funkcje działają na int, ale int w ARM ma 32 bity a nie jak w AVR...
Witam, chciałem skorzystać z mikrokontrolera atxmega32e5 ale nic mi na nim nie idzie(programowałem tylko z serii A), nawet taki prosty program nie działa prawidłowo. Zmienna wybor powinna być wyświetlana na LCD co około 1,6 s a jest wyświetlana z o wiele większą częstotliwością. Nie mam już żadnego pomysłu co tutaj jest źle. Program: [syntax=csharp]#include...
Assemblera na ARM? Na AVR piszesz w ASM? Nie, czasami robię wstawki w przerwaniu, ale głównie sprawdzam co mi kompilator wypluł, bo już kilka razy miałem, że program mi nie chodził jak chciałem przez nadmierną optymalizację kompilatora. Więcej ram, SPI, I2C, RAM, FLASH, DMA często w niższej cenie niż AVR. Nie rajcuje mnie to, atxmegi, nowe megi też...
Właśnie od kilku dni bawię się AtxMega32A4. Widać, że konstruktorzy popracowali nad nim i ma wiele ciekawych funkcji i ogólnie szybko i sprawnie uruchamia się kolejne peryferia (używam AvrGCC). Cieszy praktyczny system zegarów (w tym wewnetrzny 32MHz) ustawianych programowo, priorytetowy system przerwań, czy szybki 12 bit ADC/DAC. Ale jeśli jesteśmy...
Siedzę na problemem od kilku dni i nie mogę się dopatrzeć błędu. Dla niecierpliwych - sam problem opisany jest na samym końcu. Próbuję odczytywać dane z czujnika AM2302 z użyciem timera (timerów). Czujnik posiada jedną linię danych typu OC (lub coś w pobliżu). Komunikacja polega na tym, że master (MCU) w celu wybudzenia czujnika generuje stan niski...
Od kilkunastu dni(nienawidzę i2c) męczę i2c, kolejny krok do poznania atxmegi. Kod napisałem dość długi (biblioteka atmela nie, dziękuje) ale coś nie działa wspomoże ktoś radą, kodem, czymkolwiek. Wstawię mój kod może błąd banalny może przeze mnie ledwie niezauważalny. [syntax=c]#include <stdio.h> #include <avr/io.h> #include <avr/pgmspace.h>...
Ok, może jestem tendencyjny. Zaproponuj więc coś poniżej 10 zł w TQFP32-48, >32 MHz (kwestia taktowania interfejsów), z np. USB, 4xUSART, 6-8 timerów 16-bitowych z możliwością sprzętowego łączenia do 32-bitów, tak z 16 kanałó PWM, 2*ADC chociażby po 8 kanałów, np. 4*SPI, 4*I2C, DMA. A może też ze sprzętowym liczeniem CRC16 i CRC32, powiedzmy opcjonalnym...
Witam, postanowiłem przenieść swój układ z atmegi na atXmegę. Do tej pory do komunikacji urządzeń po serialu używałem biblioteki SoftwareSerial (Arduino) bo układ miał tylko 1 fizyczny serial. Teraz w Xmedze mam ich 5 :) Wgrałem [url=ten]http://mikrokontrolery.blogspot... programik i wszystko...
atxmega przerwania programowanie atxmega atxmega oscyloskop
wyrzuca internet ekspres czerwona philips czyszczenie modułu drukarki
przerwania atxmega oprogramowanie multidiag
Ares: Anulowanie pobierania plików - przyczyny i rozwiązania Oznaczenia regulatorów alternatora: ECU sterowany (LIN, COM, DFM) vs. klasyczny (B+, D+, L/61)