Witam. Do Atmegi mam podłączony enkoder z drukarki na INT0 (obsługuje przerwanie). oraz rs232 , który komunikuje się z aplikacją na PC(też przerwanie). Opcja pierwsza: czytam dane z enkodera manualnie : mam o programie guzik "daj dane". Gdy kręcę enkoderem jak szalony to w lewo to w...
Zrobilem to tak: c = uart_getc(); if(c & UART_NO_DATA) { }else { switch (c) { case 0x0d: interpretuj(RxBuf); do { RxBuf Dodano po 40 Drugi problem rozwiazalem. Dodalem do obslugi przerwania if(data == 0x0d) interpretuj(); ...
Witam forumowiczów, Sytuacja wygląda tak, że z jednostki nadrzędnej słane są ramki danych, Po każdej ramce jest szczelina czasowa tak aby nasza ATmega zdążyła odpowiedzieć, Mamy Atmega16 kwarc 16MHz i transmisje 57600 (w przybliżeniu), Gadamy przez RS485 tak, że między ramkami jeszcze...
Witam Zauważyłem coś dziwnego w moim układzie. Problem polega na tym, że Atmega gubi przerwania, aby tak mi się wydaje. główna pętla programu testującego: [syntax=c] while(1) { ... część kodu, która nie działa: while ( !(UCSRA & (1<<RXC)) ); usart0_write_string("okej"); } [/s...
Witam Porwałem się na robienie własnego sterownika co i stanąłem w martwym punkcie. Mianowicie sterownik składa się z 2 płytek na których są Atmegi 16 taktowane zewnętrznym kwarcem 11.059200 + kwarc zegarkowy jeden układ odpowiedzialny za odczyt temperatur regulację fazową wentylatora...
Witajcie, w jaki sposób można optymalnie odczytać przesłany (aż do znaku nowej linii / powrotu karetki) ciąg znaków od przerwania otrzymania danych? /* * Sterowanie przez RS232 (main.c) */ #include "defines.h" #include <ctype.h> #include <stdint.h> #include...
Witam, Próbuję korzystać z biblioteki Peter Fleury do obsługi usart-u, której listing znajduje się poniżej: PLIK uart.c /***************************************... Interrupt UART library with receive/transmit circular buffers Author:...
Na wstępie chciałbym przybliżyć, skąd taka a nie inna nazwa nadana przeze mnie temu projektowi. Prace rozpoczęły się w momencie zapotrzebowania na minimum dwa zsynchronizowane generatory małej częstotliwości. Ponieważ zakres przestrajania jaki mnie zadowalał ograniczał się do 100Hz...
Witam :) Zrobiłem układ, którego głównym elementem jest uC Atmega 8. Problem w tym że posiada ona w swojej strukturze tylko jeden port USART. W mojej aplikacji posiadam dwa urządzenia które komunikują się wykorzystując właśnie ten interfejs. Dodatkowo jedno z nich zasilane jest napięciem...
Witam. Chciałbym połączyć moją atmegę z komputerem. Jednakże, nie reaguje na sygnały wysyłane z Br(at)y terminala. Sygnał z kompa po przejsciu przez FT232 jest 5V. Czy to może być problem? (atmega 162 jest standardowo na 3.3V) Dodam, że atmega jest zasilana napięciem 5V. A oto...
Witam, mam problem z kodem ( no właśnie, to sie okaże :) ): #define F_CPU 16000000UL #include <stdio.h> #include <ctype.h> #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/pgmspace.h> #define...
Czyli obecnie masz zepsutą i błędną funkcję pobierającą rzekomo łańcuch, a w rzeczywistości jeden znak na ATmega oraz program na PC niedopasowany do poprzedniej, nieco kulawej ale jakoś działającej funkcji odbioru łańcucha. Program na PC nie może wysyłać nowych znaków dopóki nie...
krotki opis proramu, po wykryciu przerwania pierwszy raz na INT0 uruchamia timer i odlicza czas do drugiego przerwania, po drugim przerwaniu i kolejnych na PA2 jest wystawiany impuls trwajacy 200us, impuls jest opoznany w stosunku do sygnalu wejsciowego w zaleznosci od okresu sygnalu. Problemem okazalo...
Witam, Postanowiłem dobudować sobie do zasilacza taki oto woltomierz: Ponieważ szkoda mi 8zł na nową Atmegę 48 zwłaszcza że mam kilka Atmeg 8 postanowiłem przerobić kod (wstawiam już po zmianach) [syntax=avrasm];Automatyczn... 2-zakresowy woltomierz panelowy z 4-cyfrowym wyświetlaczem...
Twój kod a także same założenia są już pełne błędów. Zatem to co obserwujesz jest tylko wypadkową tego wszystkiego co robisz źle. 1. co to za inkludowanie plików *.c ???? Inkluduje się TYLKO pliki nagłówkowe *.h 2. co to za rozbicie inicjalizacji nadajnika i odbiornika ? Choć teoretycznie...
Niestety to jednak nie w tym tkwi problem. Zmieniłem troszkę program dlatego opisze jeszcze raz o co chodzi ;) Usunąłem wszystkie błędy programu i o dziwo komunikacja jako tako działa, ale oczywiście jest jedno "ale" z którym jakoś nie potrafię sobie poradzić i nie wiem dlaczego tak się...
Witam. Otóż mam dziwny problem. W moim układzie działają 2 mikrokontrolery, AT89S8253 oraz ATmega8, które komunikują się ze sobą. W normalnych warunkach procki gadają ze sobą aż miło, ale.... No właśnie, mam napisane programy na nie, ATmega8 zajmuje się sterowaniem regulacji mocy generatora...
Witam. Napisałem sterownik do serwa modelarskiego na Atmega 8. Teraz próbuje skomunikować ten sterownik z druga Atmegą 8, aby przesyłać pozycje zerwa z drugiej Atmegi do sterownika. Jednak napotkałem pewne kłopoty. Oto program do drugiej Atmegi: #include<avr/io.h> #include<...
Największy priorytet ma dla mnie w kolejności: 1) Mierzenie długości impulsu z 2 przerwań zewnętrznych 2) Mierzenie poziomu baterii na ADC 3) Komunikacja USART 4) Update/zapis zmiennych do EEPROM Zaczynając od organizacji USART: 1) Wiem już że opóźnienia to nie jest najlepszy pomysł...
Witam. Próbuję przesłać i odebrać znak pomiędzy atmega128 a putty. ATmega taktowana kwarcem 14.7456MHz. Korzystam z przejściówki USB<->RS232 (z atmega32 działa). RXD/TXD skrosowane. KOD: uart.c : [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include...
Niemniej ten błąd jest taki sam dla każdego kolejnego pomiaru przez co odejmuje się on i otrzymujesz dokładne wskazania O ile nie ma uruchomionych innych przerwań. Nawet, jak te inne przerwania zrobi o "niższym priorytecie" to i tak mogą wystąpić w tym samym czasie lub te "niższe" trochę...
Witam, od kilku dni próbuję wygrać nierówną walkę z programowym pwm i usartem na atmedze8. Wysyłam z nadajnika dane za pomocą USART (sprawdzane wielokrotnie na bank są dobre) do płytki z atmegą i serwomechanizmem. Jeżeli serwo jest sterowane bez ingerencji danych z USART to wszystko działa...
Witaj. Przyglądnij się przykładowi na ATmega: Na podstawie przykładu opracuj swoją wersję na ATtiny. Funkcja USART_ReceiveByte() do przerwań Ci się nie przyda.
sei nie ma nic do priorytetu przerwań - to po prostu instrukcja włączająca przerwania.
zgadzam się z przedmówcą ,włącz przerwania i odbieraj dane w przerwaniach ,dodaj : UCSRB = _BV(RXEN) | _BV(TXEN) | _BV(RXCIE); oraz : ISR(USART_RXC_vect) //przy odebraniu znaku { bufor = UDR ; }
Witam, postanowilem rozlozyc sobie twi na czesci pierwsze jako ze to dosc skomplikowany interfejs, no i odrazu pojawil sie problem... Ustawiam sobie mega128 w MASTER RECEIVER oraz mega88 w tryb SLAVE TRANSMITTER. To co do tej pory udalo mi sie zrobic to to ze dostaje odpowiedz na start bit, tzn. TWSR=0xA8...
Słuchaj kolego istotnie miałeś rację bo codevision nie generuje kodu przy gdy używasz przerwań od UART-a, ale nie ma problemu. Wytrzymaj do jutra wieczora to wygeneruję tobie kod w pełnej wersji. Niestety nie mam jej na komputerzez z którego piszę. Jednak zawsze możesz kod wygenerować i zaprogramować...
pomoge odgrzac kotleta :) dlatego najlepiej zawsze wykorzystywać system przerwań USART aby spokojnie i bez przeszkód wyrabiać się z operacjami odbioru - a do tego można wtedy zastosować własny bufor cykliczny - odbiorczy i wtedy wszystko działa - miodzio ;) Staram sie napisac program...
A może poczekałbyś na wysłanie znaku? Tak patrząc odbierasz w przerwaniu po co więc ta pętla for? a jeśli już to od odczytaniu UDR czekaj na odebranie nowego znaku. Skoro chcesz wysyłać komendy ramką odczekać w przerwaniu na 5 znak ramki i dopiero sprawdzaj komendę.
Poza tym masz włączone przerwanie od odebrania, a nigdzie go nie obsługujesz. Jak takowe nastąpi, to procesor pójdzie w maliny :)
Nie pisałem że to jedyny sposób, i raczej nie ma wiele wspólnego z danym typem AVR-a; zmieni się nazewnictwo konkretnego przerwania ISR, może nazwa rejestru UDR (ja mam tak napisany program do ATmega32). Prędkość wygodnie ustawić: #ifdef BAUD #undef BAUD #endif #define BAUD 19200 #include...
Natomiast w sytuacji gdy zarówno cały Timer2 jak i Usart robiony jest na przerwaniach tego problemu nie ma. Po to one są :) Powodzenia w dalszych pracach.
Może ktoś pomoże, dlaczego usart atmega 128 nie wysyła nic na wyjście RS TxD. Uart jest ustawiony, po wpisie do UDR0 nie wychodzi nic na wyjście TxD, nie wchodzi również w obsługę przerwania od nadajnika. SP. oto program: [syntax[syntax=asm] .nolist ...
Nie pokazałeś całego kodu. W obsłudze przerwania nie stosuje się numerów z LCD i czymkolwiek czasochłonnym. Co do realizacji odczytu USART w przerwaniu to podpowiedź brzmi " bufor kołowy". Dodam też że po około 30min wysypują też się atmego8A, No ja się wcale temu nie dziwię, w ogóle...
Ja ogólnie etap migania diodami mam już za sobą zrobiłem parę projektów prostych wykorzystujących TIMERY, Przerwania zewnętrzne, obsługę klawiatury bądź LCD i teraz zamierzam się właśnie dokształcić w interfejsach a doświadczenia w tym temacie nie mam, dlatego też pytam się was. A...
to od razu w tym przerwaniu zapisuj dane do bufora i je analizuj.
Zajrzałem do załączonego kodu dotyczącego biblioteki do tego modułu LCD. Wykorzystane są tu dwa USART'y. Jeden do komunikacji z samym modułem, drugi zaś to pewnie konsola Arduino i zarazem ten sam USART przez który Arduino IDE przesyła program. Wszystko wskazuje na to, że ta biblioteka nie...
Aaa, już rozumiem. W poprzednim wątku źle zrozumiałem obsługę flag. Myślałem, że w przerwaniu ma być wywołanie funkcji i pod koniec funkcji ustawienie flagi na wyświetlacz. Przez to miałem problem z obsługą tego. Teraz już wiem... Wstawię flagę w przerwanie, tak jak dobrze radzisz. Co...
Wszędzie gdzie masz wywołanie USART_RX_vect wstawiasz USART0_RX_vect gdy chcesz używać UART0 lub USART1_RX_vect gdy używasz UART1. Analogicznie wszystkie inne przerwania i rejestry, nazwy mogą nie być tylko takie że cośtam0 lub cośtam1 bo czasami jest cośtam0cośtam, więc wrzuciłem Ci...
Mam dość nietypowy problem, zrealizowałem komunikację pomiędzy modułem GSM SIM300D a ATmegą128A (zasilana z 5V, wstawiony dodatkowo dzielnik rezystorowy na linii TXD uP z 5V na 3V) i wszystko działa bardzo dobrze. Jednak docelowo ATmega ma być zasilana z 3,3V i tu pojawia się problem. Atmega...
:)... no wlasnie.... Ale w tym sek, ze raczej nic tam w programie nie powinno przeszkadzac. void inicjuj_USART_TIMER(unsigned char tim, unsigned char szybk) { TCCR0 = 0b00000001; TCNT0 = 5; TIMSK |= 0b00000001; ///////////////////////////... = 0; UBRRL = (unsigned char)(szybk); UCSRB...
Obsługę USART'A realizuję na przerwaniu. Mój układ służy do sterowania wyświetlaczem LCD via RS232. Każda komenda jest ma konstrukcję "znak=string\n". Po odebraniu pełnej linii funkcja obsługi przerwania wkłada ją do bufora, z którego dane są wybierane inną funkcję programu w głównej...
Z tego co wyczaiłem to mega popędzana jest kwarcem 14,7456 MHz (kwarc do USART)... Timery ustawione są tak, że przerwanie wywoływane jest co 0,05s stąd podstawowa zmienna zliczająca do sekundy zwiększana jest co drugie wywołanie przerwania (odpowiadają za to variable i variable1)... Spróbuj...
Mimo wszystko głupio tak marnować czas innych :). W każdym razie. Parę tematów chciałem poruszyć. - Po pierwsze odniosę się może do poleconej książki - "AVR. Układy peryferyjne" . Udało mi się dziś ją dostać i niestety nie znajduje w niej zbytniej pomocy. Nie jestem pewny czy szukałem...
Przykład USART na przerwaniach: Przycisk na przerwaniach - ustaw tiimer do pracy z przerwaniem przepełnienia i sprawdzaj w nim stan przycisku. Możesz oprzeć się o ten przykład: Możesz także wykorzystać pin INT0 lub INT1 i przycisk zrobić na przerwaniach, pamiętając o drganiach styków:...
Napisałem sobie prosty program w Bascomie AVR - wiem że bascom nie cieszy się najlepszą opinią(...) może zła opinia to po części zasługa początkujących którzy zwalają brak umiejętności na kompilator. Wiec jestem początkujący albo rzeczywiście Bascom to badziewie. Zrobiłem dwa...
Dane USART prądkosc 57600 Trochę szybko jak na AVR, jedno wejście da radę ale więcej? Wątpię? Trzeba by ustawić przerwanie PCINT na wejściu i wysterowywać odpowiednie wyjścia. Aby program był szybki, przerwanie NAKED. Operacje na GPIO nie zmieniają rejestru stanu, więc nie trzeba nic...
Póki co próbuje na Atmega32 bo taki mam zestaw Wymień na Mega324. Jak dla mnie, najważniejsze różnice to: - przerwania od każdego GPIO - przerwania od WDG Jak pamiętam max taktowanie to 20MHz a nie 16. Skoro to zestaw to pewnie procek w DIP a M324 to odpowiednik pip-pin Mega324. Inną...
"Nowe" czyli od Xmega i nowsze AVR mają mozliwość priorytetu przerwania. Poprzednie miały ustalony. Nie wiem jaki to AVR, ale jeśli ustawisz Timer i przerwanie od niego to jak będzie w przerwaniu to oczywiście zauważy potem flagę przerwania z USART, ale może być za późno, dlatego jeśli...
Dziękuję uprzejmie za zainteresowanie i sugestie. :-D O RS485 mogę napisać tyle, że działa poprawnie. Bez oporników (terminatorów - linia wymaga dwóch!) rzeczywiście był niezły śmietnik (kiedyś oglądałem pod oscyloskopem). Dałem trochę większe (220 omów) niż przewiduje standard,...
Witam, postanowiłem do Atmega 16A podłączyć po module USART następujący moduł: . Po podłączeniu VCC do 3,3 V oraz GND do masy zapaliła się migająca czerwona diodka, natomiast po skomunikowaniu ze smartfonem czerwona dioda przestała migać tylko cały czas się palić. Podłączenie kabli...
Chcę zaprogramować sterowanie Komendami AT. Coś typu połączenie > rób program Połączenie > przerwij program. Próbowałem dostosować kawałek programu dla Atmega 8 z "Powiadamianie GSM" (było kiedyś w DIY) Kompilator zwraca mi błąd: Error: 7 Line: 0 IF THEN expected...
Użyłem prawie identycznego kodu jak ten tutaj przytoczony, z użyciem przerwań. I test był pozytywny. Widziałem jak to działa u znajomego na kompie. Wróciłem do siebie i nie działa. Nie będę Wam zaprzątał tym głowy, poszukam u siebie przyczyny. Na razie wniosek taki: Atmega działa, program...
Witam, Od niedawna jestem szczesliwym posiadaczem zestawu ZL3AVR z Atmega32. Podczas proby uruchomienia komunikacji Atmega <=> PC (za posrednictwem adaptera Prolific Technology, Inc. PL2303 Serial Port). Udaje mi sie wysylac dane (otrzymuje w terminalu komunikat "Witam!"). Natomiast wogole...
Mój problem polega na tym, że atmega ma otrzymać polecenie w trakcie wykonywania pętli, wysyłam więc 100 razy jedną liczbę w każdym cyklu pętli sprawdzając stan linii RX. Mógłbyś wyjaśnić w jakim celu wysyłasz 100 razy to samo. Gdy program wychwyci zmiany na RX robi goto...
Witam! Mam prośbę o pomoc w poprawieniu kodu. Otóż mam zadeklarowane globalnie następujące zmienne: [syntax=c] volatile uint8_t x; volatile uint8_t recaive_complete; volatile uint8_t block_recaiver; volatile unsigned char bufferin[5]; [/syntax] W programie głównym mam 2 funkcje w pętli...
haha no ja ostatnio z braku odpowiedniej wiedzy odnośnie php i JS samemu zasięgałem porady na Elektrodzie :) Jeśli chcesz to mogę Ci podesłać kompletny kod urządzenia opartego na atmega 8 korzystający z przerwań itp. Sam kod do komunikacji opisywałem na swojej stronie. Był stworzony właśnie...
W zasadzie wszytsko robisz źle. Porównaj swój kod z dowolnym przykładem z transmisją szeregową na ATmega. Np. RXC i UDRE są to stałe,a Ty próbujesz sprawdzać ich awrtości i w zależności od nich coś robić lub nie robić. Procesor ugrzęźnie w wiecznie wywoływanej procedurze przerwania...
Pokaż program po zmianach. [syntax=c] /* BAUD RATE: 9600 */ #include <avr/io.h> // Załaduj bibliotekę input/output #include <util/delay.h> // Załaduj bibliotekę opóźnień #include <avr/interrupt.h> // Załaduj bibliotekę obsługi przerwań #include "ioinit.h" //...
m8se zgadza sie mozna i tak sterowanie multiplekserowe, tylko nie wiadomo jak beda sie zachowywaly wyswietlacze jak chce ich podpiac az 8 ;) beda migotaly bo jeszcze mam tam zamiar zrobic transmisje szeregowa do komputera (usart) ale moze to w przerwaniach ale to sie zobaczy narazie trzeba sobie poradzic...
(at)takow drganie serwa podczas odbioru rc5 to normalna sprawa bo polecenie getrc5 w bascomie powoduje zablokowanie innych przerwan a wiec i obsluge serw. borykalem sie takze z tym problemem az wrzucilem rc5 do 90s2343 ktory po porcie szeregowym wysyla dana i powoduje przerwanie od usart ktore ma...
Trochę zmieniłem twój program, nie kompilowałem więc może się coś wkradło ale wydaje mi się że lepiej będzie odbierać znaki w przerwaniu. #include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <string.h> #include <avr/interrupt.h> #define...
Witam, mam problem ze znakiem "$", jest mi on potrzebny do odczytu ramki NMEA. Jak widać poniżej inne znaki działają. Specjalne także, oprócz # i $. Wyskakuje wtedy takie coś: dla $: "<0>13", dla # "#013". Mam przejściówkę USB->RS232 -> ZL3AVR. Przejściówka to model: USB-SERIAL...
Jeśli liczba ADC jest krytyczna, to dodatkowe łatwo dodać wykorzystując drugi procesor, łącząc oba np. przez SPI, I2C, USART, czy jak chcesz. Oczywiście zakładając, że masz ochotę naprawiać coś co lepiej by było zaprojektować od nowa poprawnie - tym bardziej, że nie masz póki co za...
Jak np mam kilka innych procedur które zabierają dużo czasu. Np pomiar ds18b20 albo wyświetlanie na LCD a chciałbym je wykonywać co pewien ściśle określony czas. Wariantów masz co niemiara: Chcesz czytac ADC co jakis czas to w timerze wyzwalasz tylok pierwsza konwersje reszte robisz w...
Witam Napisałem na podstawie kursu program na uC Atmega16 mierzący napięcie ,lekko go modyfikując ,żeby wynik pomiaru zamiast na LCD został wysłany przez UART/USART do AVRTV na uC Atmega8 . Obsługę UART znalazłem tu Załączone zdjęcie przedstawia listę błędów podczas kompilacji...
Mi naprawdę nie zależy na prędkości, to będzie max 5 komend lub wyników na s. Programowy usart raczej kiepsko będzie ożenić z nadawaniem na przerwaniach. AVR mają mało RAM i może zabraknąć pamięci na bufor. W takiej sytuacji w czasie nadawania program główny czeka na zakończenie...
Witam :) Jako ze jest duzo pytan na forum na ktore odpowiedz padla, postanowilem ze zbiore choc troche postow do kupy, tematy dotycza glownie AVR, bo z ARMow jeszcze nie czuje sie na tyle na silach zeby robic FAQa ;) Mam nadzieje ze sie komus przyda :) Niby FAQ jest, ale dla mnie jakoś malo czytelny...
Przy UART mamy 3 bity na ramkę, a więc 260 kHz. Przy 16 MHz daje to 62 cykle procesora na przerwanie - wątpię, czy przy programowaniu w C ATmega ma szansę się wyrobić. Podwójny bufort UART tu nie pomoże, chyba, że w przerwaniu dorzucimy aktywne oczekiwanie, co wygląda śmiesznie, ale zmniejsza...
... ATmega nie obsłuży 260 tysięcy przerwań na sekundę potrzebnych do transmisji na przerwaniach ... 260k przerwań opróżniających bufor atmega bez problemu obsłuży - oczywiście nie może być to kod 'ala arduino. Przykładowo uart można zmieścić w 50 43 cyklach: Dla 16MHz...
Witam , mam nadzieję iż nie zanudziłem bez reszty.. W zestawieniu z moimi "dokonaniami asm." kolega michalko12, jest najbliższy temu co ja kiedyś robiłem . Oto wersja asm z przełącznikiem kompilacji aby kompilować jako samodzielny plik - kto chce ->ten może :D ( ta wersja to 16-timerów,...
Totalnie ci to nie wyjdzie jezeli bedziesz myslal ze odrazu zaczniesz pisac kod gotowego lokalizatora gps/gsm. Najpierw musisz opanowac komunikacje usart komp<-->atmega. - Sciagnij Realterm (taki lepszy hyperterminal). - kup kabel usb<-->com i podlacz tx rx gnd do pd0 i pd1 (pd2 pd3 zalezy...
Witam, mam dziwny problem, pomoże mi ktoś go rozwiązać? Chodzi o to, że buduję urządzenie, które na żądanie będzie mierzyło temperaturę układem DS18B20. Żądanie odbywa się poprzez naciśnięcie odpowiedniego przycisku na pilocie RC5. Całe moje urządzenie to dwa AVR: Atmega8 (jako...
Witam W projekcie wysyłanych będzie około 800bytów danych do PC i w PC bedzie na bieżąco wyświetlane. Do czego zmierzam. W czasie kiedy bedę obsługiwać przerwanie od Timer1 może pojawić się sygnał do PC, że dokonywana bedzie tramsm,isja. W atmega8 nie mozna ustawiać priorytetów przerwań...
Witam, Od jakiegoś czasu zmagam się z problemem braku odczytu danych z żyroskopu w układzie MPU-6050, poprzez I2C. Wykluczam problem z komunikacją pomiędzy układem, a mikroprocesorem(Atmega 32), ponieważ wszystkie dane z rejestru można odczytać(w tym z akcelerometru). Podejrzewam, że...
tak wyglądają błędy podczas kompilacji tu natomiast wklejam kod który pozmieniałem, a nie wiem czy dobrze ; Prosty program boot loader-a dla interfejsu RS-232 ; Rafał Baranowski (C) 2004 //********************************... * Modyfikacja...
Witam Właśnie zaczynam pisanie programu do sterownika. Jako że jest to jeden z moich pierwszych programów w C to już potrzebuję pomocy.. Dodam że oczywiście nie chcę żadnych gotowców bo się w ten sposób niczego nie nauczę ale. Pierwszy problem związany jest z wykrywaniem zewnętrznych...
Xmega niby jest super, ale jeżeli chcesz puścić dane przez port SPI (max. 8MHz, więc teoretycznie 200pxl), to nie masz bufora i pojawia się kwestia stabilizacji obrazu. Bufor ma tylko USART w trybie SPI, ale on pracuje z prędkością do 4MHz (100pxl/linię). Możesz użyć DMA do transferu...
Witam serdecznie wszystkich Mój problem polega na próbie połączenia uC AVR (Atmega 32) poprzez przejściówkę USB-USART (FF232RL) z laptopem. Wszystko zaczęło się od tego, że sprawiłem sobie przejściówkę zakupioną na znanym portalu aukcyjnym (użytkownika póki, co nie będę wymieniał)....
Używam Timera1 z Atmega164P w trybie CTC, Atmega ma kwarc 16MHz, interesujący kawałek programu wygląda tak: Konfiguracja Timera: void Timer1_Init(void) { DDRD |= (1<<PD7); // PD7 wyjście PORTD |= (1<<PD7);...
Z tym równoległym to warto się zastanowić. Niektóre kontrolery LCD mają stosunkowo wolne interfejsy równoległe, a megaszybkie szeregowe, w efekcie równoległy jest oczywiście ciągle szybszy, ale nie aż tak bardzo w stosunku do szeregowego. SPI jest proste i wygodne, na XMEGA wyciągniesz...
Witam, Przymierzam sie wlasnie do budowy strownika akwariowego, takiego troche bardziej rozbudowanego Skalara. Zalożenia: Niezbędne: - Kontrola temperatury (prosta) - Kontrola oswietlenia dziennego (z plynnym zapaleniem i gaszeniem o zadanych godzinach) - Kontrola oswietlenia nocnego/niebieskiego...
Chciałem przedstawić bardzo prosty akustyczny odstraszacz kun do samochodu zbudowany w oparciu o Arduino Pro Mini (ATMega 328P) oraz moduł przetwornicy step-down na układzie MP1584. Inspiracją do konstrukcji był używany dotychczas analogowy odstraszacz akustyczny zbudowany w oparciu o układ...
Witam! Bardzo rzadko wysyłam posta z pytaniem na elektrodę, zazwyczaj sam znajduję odpowiedź, lecz tym razem stanęłem w miejscu. Próbuję zaprogramować uC ATmega 8 żeby poprzez rs232 komunikował się z komputerem, za pomocą USART. Podłączyłem maxa232 zgodnie z datasheetem, program wygląda...
Witam, Może wiecie gdzie znajdę opis znaczenia poszczególnych bitów specjalnych rejestrów Atmega8 - chodzi mi przede wszystkim o bity i znaczniki przerwań od USART'a (flagi) i Timerów - w pdf'ie tego nie widziałem? I jeszcze jedno, skoro ta Atmega posiada sprzętowy I2C to czy Bascom korzysta...
Dziękuję za załączniki. Akurat znam je, bo na ich podstawie robię próby opisane w tym wątku. Wciąż nie wiem, dlaczego program nie chce wysyłać kolejnych instrukcji bez (znacznych) opóźnień między nimi. Myślałem nawet, że to Slave nie wyrabia z wykonaniem funkcji, ale jak pisałem "zwykła"...
Takich bajerów jeszcze nie robiłem więc nie mogę dokładnie określić jak działa moduł radiowy. Ale myślę że wystarczy zwyczajnie podpiąć jeden odbiornik i nadajnik żeby setka arduino mogła sobie rozmawiać miedzy sobą. Oczywiście będzie zapchanie pasma radiowego itp ale to już trzeba...
Problem rozwiazany. Żle odczytywałem UCSRC. USART nadaje. Nie wiem dlaczego nie widać włączanych bitów podczas debbugownia JTAGiem ICE (ATmega 32). Nie zamykam tematu -może Ktoś podpowiewie. PS. Nie sprawdzałem RxT na nodze uC, tylko w odbiorniku RS485. Okazało sie, że miałem przerwaną...
Pomysł i projekt tego oto prostego zestawu z procesorem 8051 powstał podczas fascynujących zajęć na uczelni. Podczas ćwiczeń na legendarnym zestawie DSM-51 nie nadążałem za tym asemblerem. W tamtych czasach zajmowałem się jedynie AVRami. Jako, że nauka lepiej mi szła w domowym zaciszu...
Cieszę się, że ci to działało, ale wystarczy zaglądnąć do noty procesora i zrobić parę prosty obliczeń, żeby przekonać się, że ci USART taktowany wewnętrznym generatorem w ATMega działał wyłącznie przez przypadek. Tak na szybko ja znalazłem dwa przykłady obliczeń: Stabilność...
Wszystkim czujnikom chcę wydać komendę konwersji a następnie po 10 sekundach chcę odczytać wszystkie 15szt, wydać polecenie konwersji odczyt po 10s i tak w kółko. Jednak moja ATMega ma wiele innych rzeczy do roboty w głównej pętli i nie chcę aby odczyty temperatur zajmowały jej sekundę...
Chciałbym przedstawić robota mobilnego należącego do klasy minisumo, którego wykonałem w 2012 roku. Roboty tego typu tworzone są do walk na ringach o odpowiednich średnicach zależnych od klasy robota, czyli jego wymiarów i wagi. Klasa minisumo to wymiary w granicach 10x10 cm oraz waga...
W ostatnich latach byliśmy świadkami licznych fuzji na rynku elektroniki. O ile dla młodszych inżynierów wydarzenia te często nie wiążą się z żadnymi emocjami, to bardziej doświadczeni elektronicy nierzadko martwią się o konkurencję na rynku oraz o los technologii i rodzin produktów,...