atmega16 przerwania usart

Znaleziono około 118 wyników dla: atmega16 przerwania usart
  • atmega16a - konfiguracja przerwania RX w USART - problem z wektorem przerwań

    Build started 6.4.2014 at 00:25:04 avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Proba_10.o -MF dep/Proba_10.o.d -c ../Proba_10.c avr-gcc -mmcu=atmega16 -Wl,-Map=Proba_10.map Proba_10.o -o Proba_10.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature...

    Mikrokontrolery Początkujący   06 Kwi 2014 22:38 Odpowiedzi: 7    Wyświetleń: 1554
  • ATmega16 [C] [AVRStudio5] - Przerwanie od odbieranej danej UART

    temp powinno być volatile. Inaczej się optymalizuje w pętli głównej, spójrz na wygenerowany kod asemblerowy. Dodano po 1 Zarówno "temp" jak i "i" powinny być volatile. i nie musi. Jest wykorzystywane tylko w przerwaniu. Za to powinno być zadeklarowane jako static w funkcji obsługi przerwania. Dzięki za szybką odpowiedź, ale to chyba nie jest problemem......

    Mikrokontrolery AVR   16 Kwi 2013 19:39 Odpowiedzi: 22    Wyświetleń: 2229
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (2min)...
  • ATMEGA16 USART na przerwaniach - zawieszanie przy transmisji RS485 57600bps

    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 przełączam linie bufora, Steruje równocześnie buforem wejścia i wyjścia...

    Mikrokontrolery AVR   11 Cze 2010 12:47 Odpowiedzi: 2    Wyświetleń: 1794
  • REKLAMA
  • [BASCOM][atmega16] Przerwanie zewnętrzne co 4ms i komunikacja 1wire - kolizja

    Jest to Atmega16. Nie tylko ja jeden miałem problem z pogodzeniem mojego przypadku, inna osoba stwierdziła, że w moim przypadku istnieje możliwość pogodzenia 1-wire i przerwania ale nie w języku BASCOM. O USART jeszcze nie słyszałem, jak mniej więcej miało by to wyglądać ?

    Mikrokontrolery AVR   15 Mar 2012 13:42 Odpowiedzi: 30    Wyświetleń: 4634
  • Brak przerwania SPI w trybie SLAVE na ATMEGA16 - co sprawdzić?

    Dzień dobry. Mam problem z transmisją SPI w mikrokontrolerze ATMEGA16 w trybie SLAVE. A mianowicie po wysłaniu do mikrokontrolera bajtu danych nie jest generowane przerwanie. W tym samym mikrokontrolerze sprawdzałem działanie SPI na ustawienie flagi SPIF w rejestrze SPSR i było wszystko OK. Czyli transmisja jest OK. Jeśli ktoś mi morze pomóc i wyjaśnić...

    Mikrokontrolery   14 Wrz 2015 19:21 Odpowiedzi: 3    Wyświetleń: 588
  • REKLAMA
  • Atmega16, przerwania na Timer0 nie dzialaja tak jak powinny.

    Witam, Napisałem program do odpytywania stanu klawiszy na Atmega16, kwarc-16MHz. Według wyliczeń przerwanie powinno sie pojawiać co 2,5ms, jednak tak nie jest, jest o wiele wolniej (ponad 1s). Analizowałem program i sam juz nie wiem co może być źle. Pomóżcie Preskaler clk/1024=16000000/1024=15625 1/15624=0,064ms 40*0,064ms=2,5ms #include <avr/io.h>...

    Mikrokontrolery   25 Maj 2007 10:49 Odpowiedzi: 4    Wyświetleń: 1407
  • REKLAMA
  • Atmega16, problem z przerwaniem przepełnienia timera0

    Witam, walczę z tym cały dzień i nie potrafię zrozumieć dlaczego program nie działa. Próbuje poprostu "uruchomić" przerwanie podczas przepełnienia timera0. Jak widać niżej jest bardzo prosty kod który powinien zapalać i gasić diodę. Preskaler ustawiony na 1024, ustawiona odpowiednia flaga w rejestrze TIMSK ...i nei działa. Jeśli w pętli while wrzuce...

    Mikrokontrolery   20 Wrz 2010 09:34 Odpowiedzi: 2    Wyświetleń: 1226
  • Atmega 16 - brak reakcji na przerwanie INT0/INT1, poprawa kodu

    Witam ,\za zadnego nie moge zmusic by zareagowal na przerwanie... listing programu ponizej .... jest to przyklad. bardzo prosze o pomoc. p.s. wylaczony JTAG listing: $regfile = "m16def.dat" $crystal = 8000000 Config Pind.3 = Input Set Portd.3 Config Portd.5 = Output Config Portd.6 = Output Led Alias Portd.5 Led2 Alias Portd.6 Enable Int1 Config...

    Mikrokontrolery   24 Gru 2007 13:51 Odpowiedzi: 1    Wyświetleń: 1407
  • [atmega16] [atmega16][C/Eclipse] Przerwanie INT1 nie działa, INT0 działa poprawnie

    Witam. Próbuję zrobić zwykłe zliczanie osób w pomieszczeniu. Mam dwie bariery świetlne, które są podłączone do pinów PD2 i PD3 czyli INT0 i INT1. Problem w tym, że przerwanie od INT1 nie chce mi zaskoczyć, natomiast INT0 działa. Dodam, że bariera działa dobrze: przerwanie bariery skutkuje podciągnięciem Portów PD2 czy PD3 do 0. Czyli przerwanie powinno...

    Mikrokontrolery AVR   25 Maj 2011 21:22 Odpowiedzi: 7    Wyświetleń: 1964
  • Atmega16A - prawdopodobnie błędna obsługa przerwań

    Witam, pracuję na atmedze16A i wewnętrznym clocku 4Mhz. Próbuję wygenerować przerwanie z częstotliwością 80kHz, które spowoduje negacje jednego z bitów portu B(PORTB 0). Rozumiem, że dzięki takiej operacji wygeneruję sygnał o częstotliwości 40kHz, który pozwoli mi generować ultradźwięki w nadajniku. Napisałem taka obsługę przerwania, ale coś mi nie...

    Mikrokontrolery AVR   10 Lut 2011 17:19 Odpowiedzi: 25    Wyświetleń: 1608
  • REKLAMA
  • ATmega16 - Zewnętrzne przerwanie nie działa, dioda LED świeci cały czas

    Napisałem najprostszy program do obsługi zewnętrznych przerwań, niestety nie działa. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> int main(void) { DDRB=0x01; //wyjście dla diody //MCUCR|=(1<<ISC01)|(1<<ISC0... //zbocze narastające GICR|=(1<<INT0); sei(); while(1) { PORTB |= 0x01;...

    Mikrokontrolery   30 Kwi 2014 18:04 Odpowiedzi: 3    Wyświetleń: 858
  • [Atmega16] Przerwania zewnętrzne nie działają - brak reakcji diody na PB0

    Wgrałem do Atmega16 prosty programik obsługi przerwań zewnętrznych (poniżej kod). #include <avr/io.h> #include <avr/interrupt.h> SIGNAL (SIG_INTERRUPT0){ PORTB = 0xFF; } SIGNAL (SIG_INTERRUPT1){ PORTB = 0x00; } int main(void){ DDRB = 0xFF; DDRD = 0x00; PORTD = 0xFF; GIMSK = _BV(INT0)|_BV(INT1);...

    Mikrokontrolery AVR   15 Lut 2010 08:33 Odpowiedzi: 8    Wyświetleń: 5848
  • Atmega 16 - nieprawidłowe działanie przerwań INT0, INT1 przy 16MHz

    Mam problem z uzyskaniem oczekiwanego działania przerwań INT0 i INT1. Procesor to ATMEGA 16 z zewnętrznym taktowaniem 16MHz. PD2, PD3 są skonfigurowane jako wejścia z podciągnięciem do 1. W obu przerwaniach jedyną czynnością jest inkrementowanie zmiennych zdefiniowanych jako volatile uint32_t. ISR(INT0_vect) { N_T++; } ISR(INT1_vect) { N_F++; } Przerwania...

    Mikrokontrolery AVR   08 Kwi 2014 12:12 Odpowiedzi: 2    Wyświetleń: 2094
  • flaga przerwania wewnetrznego i wyswietlanie co 0,5s

    Witam Utknąłem z moim kodem i plątam sie w koło ciągle, dlatego proszę o pomoc. W podprogramie "przyciski" przerwania od timer0 mam zrealizowany odczyt przycisków i zrobiłem sobie "flagi czasowe" przyciski: 'przerwanie co 26ms . kod sprawdzania przycisków . incr licz if licz=19 then ' flaga co ok 0,5 s flaga_500ms=0 ' w warunkach początkowych flaga_500ms...

    Mikrokontrolery AVR   30 Maj 2011 20:57 Odpowiedzi: 25    Wyświetleń: 2699
  • atemga 16 i akcelerometr mxr9500 problem z przerwaniami

    witam. Mam taki problem ponieważ sygnał który dostaje z akcelerometru muszę scałkować podwójnie i do tego jest mi potrzebny przedział miedzy próbkami i mam problem z wyznaczeniem tego czasu. żeby mieć stałe odstępy próbkowania wymyśliłem żeby próbkowanie odbywało się w przerwaniu i teraz problem polega na tym ze w trakcie wykonywania przerwania od timera2...

    Mikrokontrolery AVR   29 Kwi 2010 19:26 Odpowiedzi: 6    Wyświetleń: 1215
  • [atmega16] [atmega16][C] Przerwania INT0/INT1 nie działają, brak reakcji na płytce

    Mam do zrobienia program o następującym działaniu: przerwaniem zewnętrznym (INT0) uruchamiam całą machinę - czas zaczyna być mierzony, kolejnym przerwaniem zewnętrznym (INT1) robię STOP, i w tym momencie wynik powinien być wyświetlony na wyświetlaczu LCD. Niestety jak chce odpalić program już na płytce to się nic kompletnie nie dzieje. Zapewne coś jest...

    Mikrokontrolery AVR   20 Cze 2010 20:12 Odpowiedzi: 6    Wyświetleń: 2279
  • [AVR][ATMEGA16] Uart brak przerwania po wysłaniu bajtu

    Witam Zastanawiam się dlaczego program "nie wchodzi" do przerwania po wysłaniu bajtu po rs232. Kod przerwania: [syntax=c] ISR(USART_TXC_vect){ PORT_LED = 255; while(1); } [/syntax] Funkcja inicjująca UART: [syntax=c] void InitUART(int baudrate) { // Enable 2x speed UCSRA = (1<<U2X); // Set baudrate UBRRH = (unsigned char) (baudrate>>8);...

    Mikrokontrolery   28 Lut 2012 15:01 Odpowiedzi: 0    Wyświetleń: 624
  • [mega16][C] Przerwania timera vs reszta kodu - blad programu

    Witam. Natrafiłem dziś na problem z przerwaniem. Mianowicie mam DS18B20, LCD, UART i timery. Program wygląda tak, że temperatura z DSa jest wyświetlana na LCD, wszystko gra. Mam też przerwanie, w którym co sekundę wysyłane jest 6 bajtów do kompa (przez UART). Przerwanie jest od Timera co 1 sekundę. Wszystko gra do czasu. W pewnym momencie program sie...

    Mikrokontrolery AVR   02 Mar 2009 18:28 Odpowiedzi: 3    Wyświetleń: 1474
  • [Atmega16][C][AVR Studio] Problem z przerwaniem od licznika

    Witam, mam problem z uzyskaniem przerwania od licznika. Program w ogólności ma co mniej więcej sekundę na przemian zapalać i gasić diode. Licznik jest w trybie porównania do wartości 156. Częstotliwość oscylatora to 4 MHz, przeskalowana przez 256. Program niestety nie chce wejść w przerwanie. Może któryś z bardziej doświadczonych forumowiczów jest w...

    Mikrokontrolery AVR   08 Lis 2010 19:59 Odpowiedzi: 5    Wyświetleń: 1810
  • [atmega16][bascom] Dziwne zachowanie programu z przerwaniem.

    Witam Koledzy mam taki "program" który zapala i gasi diodę led w odstępach około 1sekundowych: Do Set Porta.3 Wait 1 Reset Porta.3 Wait 1 loop end I taki programik działa jak należy ale dlaczego po dodaniu przerwania od timera0 które zmienia stan portu z określoną częstotliwością polecenie wait 1 trwa ponad minutę? Mam taki program: $crystal = 4000000...

    Mikrokontrolery AVR   03 Mar 2010 09:56 Odpowiedzi: 35    Wyświetleń: 4577
  • [atmega16][c] czujnik wstrząsów na INT1, procek świruje...

    Mojej walki ciąg dalszy, pamiętam o poprzednich tematach, uczę się i kiedyś do nich wrócę :) . Otóż podłączyłem czujnik wstrząsów do PD3 i chciałem wykrywać wstrząsy przerwaniem. A propos, okazało się że samochodowy 12v świetnie chodzi na 5v, diodki mrugają więc wiem że wstrząsy wykrywa. Wstrząs sygnalizowany jest zwarciem sygnału do masy - i zmierzone...

    Mikrokontrolery AVR   02 Mar 2009 20:23 Odpowiedzi: 4    Wyświetleń: 1350
  • Jakość sprzętowego USB w ATXMEGA128A4U-AU vs FT232 - niezawodność i odporność

    Ok, uporałem się jakoś z tym projektem, tak że wreszcie działa. W końcu użyłem tego gotowego przykładu: http://mikrokontrolery.blogspot.com/2011... i jakoś "ręcznie" dodałem biblioteki ASF od TWI. Było kilka niezgodności, ale się z tym uporałem. Tak więc program działa i wymienia dane z kompem. Mam...

    Mikrokontrolery AVR   05 Wrz 2018 12:20 Odpowiedzi: 30    Wyświetleń: 4083
  • Konfiguracja USART dla Atmega16 i Atmega8 - brak komunikacji [C]

    Męczę się nad tym od jakiegoś czasu i nie mogę sobie z tym poradzić. Próbuję połączyć ze sobą te dwa kontrolery. Zacząłem od skonfigurowania Atmegi16 do odbioru i połączenia jej z HyperTerminal. Najgorsze jest to że jakiś rok temu zrobiłem to bez problemu a dziś za żadne skarby mi nie wychodzi. Programik raczej prosty: #include<avr/io.h> #include<avr/interrupt.h>...

    Mikrokontrolery AVR   08 Gru 2009 13:10 Odpowiedzi: 8    Wyświetleń: 1653
  • [ATmega16 i AT90CAN128] [C] USART synchroniczny - problem

    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ę dzieje. ATmega16 (do niej podłączony jest klawisz i LCD) mierzy...

    Mikrokontrolery AVR   08 Lip 2008 07:41 Odpowiedzi: 11    Wyświetleń: 3870
  • [C][ATMEGA16] - Wymiana atmega16 na atmega32 lub 644 lub 1284

    Biblioteki z Internetu - hmm, mam swoje zdanie na ten temat, nie podzielę się nim, bo moderator by musiał ten post wrzucic do kosza, a i ostrzeżenie zapewne bym dostał :) Zacznijmy od hallotronu - podepnij go pod pin, który generuje przerwanie i ustaw przerwanie z pinu na zbocze. W przerwaniu sobie zliczaj impulsy z hallotronu. Dodaj na wejście jakiś...

    Mikrokontrolery AVR   04 Sty 2015 21:43 Odpowiedzi: 17    Wyświetleń: 1443
  • ATmega16 UART: Restart po przerwaniu TXC przy 9600 baud, kwarc 16MHz

    Witam. Mam mały problemik z UARTem . Mianowicie wszystko dziala ladnie , wysylanie i odbieranie znakow. Problem powstaje w momencie gdy wlacze przerwanie od zakonczenia nadawania (TXC: USART Transmit Complete ). Wowczas po wyslaniu jakiegokolwiek znaku z mikroprocesora mikroprocesor sie restartuje. Uklad to ATmega16, kwarc 16Mhz, predkosc transmisji...

    Mikrokontrolery   16 Mar 2006 17:31 Odpowiedzi: 2    Wyświetleń: 1809
  • Atmega16 SPI - problem z komunikacją z RAM i RTC, kod w C

    Witam Na wstępie powiem że nie jestem ekspertem w C. Pisze programik działający na Atmedze16. Mam dwa dwa układy Ram i RTC i muszę się z nimi dogadać przez SPI. I się nie dogaduje. Zeby zapisać cos i odczytać z Ramu muszę zapisać (dla zapisu) kod rozkazu - 8 bitów, adres komórki zapisywanej - 24 bity i dane - 8 bitów. Przy odczycie analogicznie rozkaz,...

    Mikrokontrolery Początkujący   15 Cze 2016 02:40 Odpowiedzi: 5    Wyświetleń: 1446
  • ATmega16 i problem z wyswietlaniem danych na LCD :(

    Ponizej przedstawiam swoj kod: #include <avr/io.h> #define F_CPU 16000000UL #include <util/delay.h> #include <avr/interrupt.h> //#include <avr/iom16.h> #include "lcd.h" #include "usart.h" #define Timer2_start TCNT2 = 0x63; TCCR2 = 0x07; //0x63 - poczatkowa 99, preskaler 1024 0x07 #define Timer2_stop TCCR2...

    Mikrokontrolery   20 Cze 2007 08:33 Odpowiedzi: 1    Wyświetleń: 1381
  • Atmega16, USART - lepszy pooling czy interrupts przy przesyłaniu danych?

    Jeśli wysylasz male porcje danych i rzadko mozesz zastosowac takie roziwazanie. W inym przypadku proponuje wykorzystac przerwania i zrobic jakis buforek nadawczy/odbiorczy.

    Mikrokontrolery   23 Paź 2006 20:01 Odpowiedzi: 3    Wyświetleń: 1220
  • ATmega16 i USART: ISR(USART_RXC_vect) nie działa poprawnie, co robić?

    Hej, Podłączyłem sobie ATmegę16 do komputera przez RS-232 za pośrednictwem MAX232. Na początek chciałbym zrobić echo - to, co wpiszę w minicomie czy putty ma być przesłane do uC i wysłane z powrotem. Wykorzystane mają być przerwania. Problem jest taki, że procedura obsługi przerwania ISR(USART_RXC_vect) jest wykonywana albo bardzo rzadko, albo wręcz...

    Mikrokontrolery   15 Lip 2007 17:03 Odpowiedzi: 1    Wyświetleń: 1655
  • Nie działa przerwanie USART0_RXC_vect na Atmega162 - jak to naprawić?

    Witam. Mam taki problem. Próbuję się bawić z UARTem. Program (tzw. echo) działa poprawnie - sprawdzam za pomocą Br(at)y terminala. Natomiast chciałem pójść dalej i wykorzystać przerwanie od odebrania. no i niestety mi niezbyt to działa (w sensie nie wchodzi w to przerwanie). A oto kod: #include <avr/io.h> #include <avr/iom162.h> #include...

    Mikrokontrolery AVR   05 Lut 2011 12:05 Odpowiedzi: 2    Wyświetleń: 834
  • Jak poprawić odbiór SMS z Eryka T68i przez Atmega16? UART, prędkość transmisji

    Wydaje mi się , że funkcja wysyłająca znak na LCD jest zbyt czasochłonna i poprostu gubisz część znaków wysłanych przez telefon.Spróbuj zapisać je do tablicy , a potem wyświetlić na LCD , pamiętając o pominięciu znaków o kodach < niż np. 0x20.Najpewniejszym wyjściem z sytuacji , jest jednak bufor FIFO , zaimplementowany w procedurze obsługi przerwania...

    Mikrokontrolery   06 Sty 2006 11:13 Odpowiedzi: 12    Wyświetleń: 3267
  • [C] procedura obsługi przerwania - podstawy podstaw.

    Nie wiem jaki to uP ale np. dla ATmega16 wygląda to tak: Włączasz przerwanie: UCSRB|=(1<<TXCIE); sei(); //dostępne globalne przerwania A tu jest podprogram obsługi przerwania: ISR(USART_TXC_vect) { cbi(PORTB, PB2); //0 na pinie PB2 } aha i jeszcze musisz włączyć bibliotekę: #include <avr/interrupt.h>...

    Mikrokontrolery AVR   08 Sie 2008 20:12 Odpowiedzi: 4    Wyświetleń: 1930
  • [ATMega16] C - Odebranie bajtu z PC na mikrokontrolerze

    Tak, jeśli używasz przerwania to nie potrzebujesz tej funkcji. Procesor wcale nie musi się resetować, może wpadać w nieokreśloną martwą pętlę po skoczeniu do przerwania od RX (które jest nieokreślone). Program działa więc tak: wykonuje wszystko aż do napotkania funkcji USART_ReceiveByte, wchodzi do niej i oczekuje na zakończenie odbioru bajtu przez...

    Mikrokontrolery AVR   10 Sie 2012 13:11 Odpowiedzi: 7    Wyświetleń: 1163
  • [ATMEGA162] ATMEGA162 UART 9600 bps, kwarc 11.0592 MHz, 3.3V – błędna konfiguracja USART?

    Mam problem z UART w ATMEGA162 16PU Procesor z kwarcem 11059200 Hz zasilany 3,3V Potrzebuje prędkość 9600 b/s #include <avr/io.h> #include<inttypes.h> #include<avr/interrupt.h> #include <util/delay.h> #include <avr/wdt.h> //#include"../lib/rs232.h" #define FOSC 11059000// Clock Speed #define BAUD 9600 #define...

    Mikrokontrolery AVR   25 Kwi 2009 16:52 Odpowiedzi: 2    Wyświetleń: 2387
  • atmega162 usart0 1. problem z przerwaniem 2. BAUD RATE krzak

    jeśli chodzi o przerwania korzystaj z SIGNAL a nie ISR (a dlaczego? to już sobie sam doczytaj) Wycinek z <avr/interrupt.h> z najnowszego AVR-GCC #if defined(__DOXYGEN__) /** \def SIGNAL(vector) \ingroup avr_interrupts \code #include <avr/interrupt.h> \endcode Introduces an interrupt handler function that runs with global...

    Mikrokontrolery AVR   10 Wrz 2009 12:35 Odpowiedzi: 8    Wyświetleń: 1688
  • [Atmega16] [Atmega16][C] Odbiór ramki NMEA z GPS - problem z kodem USART_RXC_vect

    Problem leży tu: SIGNAL(USART_RXC_vect) { if(UDR=='$') zapis=1; if((i<14)&&(z... { buf[i]=UDR; i++; } if(i>=14) { k=1; zapis=0; i=0; } } Otóż odczyt z rejestru UDR powoduje jego wyzerowanie a następnie załadowanie następnego odebranego znaku (jeżeli...

    Mikrokontrolery AVR   24 Paź 2009 14:55 Odpowiedzi: 2    Wyświetleń: 2018
  • [ATmega16] ATmega16 i RS232: Problemy z komunikacją UART przy użyciu konwertera USB-RS232

    1. Nie stosuj niestandardowego połączenia pinów w gnieździe programowania, bo gdy podłączysz programator zgodny z ISP z włączonym zasilaniem układu programowanego, to będzie buuuuuum: http://mikrokontrolery.blogspot.com/2011... 2. Coś pomieszałeś ten układ resetu. Rezystor 330 przy kondensatorze ma ograniczać prąd jego rozładowania...

    Mikrokontrolery AVR   23 Gru 2013 02:07 Odpowiedzi: 15    Wyświetleń: 2145
  • Bascom AVR, Atmega16 - Minimalizowanie liczby instrukcji w przerwaniu

    Tak, lecz jest to sytuacja, którą opisałem w poście #3. Z drugiej strony, ja bym przedstawiony przez ciebie problem rozwiązał inaczej - w dwóch przerwaniach. W przedstawionej sytuacji wysyłkę można zrobić całkowicie w oparciu o przerwania USART, a timer niech robi to do czego służy :) A jakieś inne różnice?

    Mikrokontrolery Początkujący   04 Wrz 2012 18:47 Odpowiedzi: 13    Wyświetleń: 1959
  • [atmega16] [atmega16][c/avr-gcc] UART w przerwaniach - nieoczekiwane działanie programu

    Zmień funkcję w przerwaniu: ISR(USARTUDRE_vect), postaraj się wmontować tam while, coś na kształt: [syntax=c] void USART_Transmit( unsigned char data ) { while ( !( UCSRA & (1<<UDRE)) ) UDR = data; } [/syntax] Nie czekasz nigdzie aż się bufor transmisji opróżni i wysyłasz cały czas coś.

    Mikrokontrolery AVR   29 Cze 2012 11:49 Odpowiedzi: 25    Wyświetleń: 2538
  • [Atmega16] [C] Obsługa przerwań dla odtwarzania melodii MIDI

    Kod nie jest przenośny nawet po: ISR( USART_RXC_vect )

    Mikrokontrolery AVR   18 Cze 2011 20:57 Odpowiedzi: 18    Wyświetleń: 1884
  • Odbiór temperatury z LM35 przez UART na ATMega16, problem z przerwaniem

    Skoro przerwanie ISR(USART_RXC_vect) używa się, gdy do mikrokontrolera przesyłamy dane z urządzenia zewnętrzengo, to w moim programie zastosowanie przerwania od nadawania: ISR(USART_TXC_vect) byłoby na miejscu? (być może jest to zupełnie niekonieczne, ale jestem ciekawy czy dobrze rozumuję).

    Mikrokontrolery AVR   30 Lis 2011 17:30 Odpowiedzi: 8    Wyświetleń: 2669
  • Atmega16 jako mostek RS232 i 3x Attiny2313 – jak zrealizować szybką komunikację USART?

    Moduł USI umożliwia prowadzenie transmisji poprzez interfejsy szeregowe I2C lub SPI. I to bedzie najlepsze rozwiazanie Mega16(I2C)<->Tiny(USI). Resztę pdf'ka Ci powie. Dodano po 8 a opóźnienia można zminimalizować robiąc komunikacje na przerwaniach o tych modułów.

    Mikrokontrolery   21 Maj 2006 23:24 Odpowiedzi: 12    Wyświetleń: 3005
  • AVR136: Czas obsługi przerwania na Atmega162 przy 32 kanałach PWM

    Nie da się na to pytanie odpowiedzieć nie widząc kodu. USART obsługujesz w przerwaniach? Pamiętaj, że na czs jego wykonania inne przerwania są blokowane, użycie nieblokujących handlerów przerwań wymaga głębszej analizy. Ale generalnie spójrz na to w ten sposób - procesor przez 40% czasu się nudzi. Więc dla 16MHz masz sytuację taką, jakbyś miał cały...

    Mikrokontrolery AVR   15 Lut 2012 13:49 Odpowiedzi: 11    Wyświetleń: 2086
  • Arduino: Obsługa wielu czujników i diod bez użycia delay i z przerwaniami

    Przykład obsługi przerwania od przycisku poziomem niskim: [syntax=c] //**************************************... // // File Name: 'main.c' // Title : AVR DDS2 signal generator // Author : Scienceprog.com - Copyright (C) 2008 // Created : 2008-03-09 // Revised : 2008-03-09 // Version : 2.0 // Target MCU: Atmel AVR...

    Arduino   04 Sty 2018 00:34 Odpowiedzi: 115    Wyświetleń: 5856
  • [Atmega16][C] Program działa tylko bez optymalizacji kodu

    Witam, Rozumiem,że chciałeś aby program dwukrotnie wytransmitował słowo hello. Wszystko jest ok poza jednym małym szczegółem. Całą transmisje masz w przerwaniu od nadajnika (UART Transmit Complete ), jednak takie przerwanie nie zostanie zgłoszone dopóki nie zostanie wytransmitowany jakiś znak. W main musisz rozpocząć trasmisję poprzez wysłanie pierwszego...

    Mikrokontrolery AVR   18 Paź 2009 14:21 Odpowiedzi: 8    Wyświetleń: 2069
  • UART: Krzaki przy komunikacji AT90PWM3b z ATMEGA16, jak to naprawić?

    char c; int a=0; ISR(USART_RX_vect) { c = UDR; a = 1; } Zmienne c oraz a isnieja tylko w przerwaniu. Po zakonczeniu przerwania giną... Aby przerwanie moglo ingerowac w zmienne globalne: volatile char c; volatile int a;

    Mikrokontrolery AVR   09 Mar 2011 20:21 Odpowiedzi: 18    Wyświetleń: 2380
  • Atmega16, enkoder na INT0 i RS232 19200 – błędne dane przy cyklicznym odczycie

    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 prawo a potem wciskam guzik "daj dane" to dostaje to co trzeba - znaczy...

    Mikrokontrolery AVR   15 Lis 2009 22:27 Odpowiedzi: 1    Wyświetleń: 2040
  • Jak uniknąć echa na RX przy nadawaniu 1-Wire na Atmega16?

    Pomyłka. Sprawdzać trzeba nie UDRE, ale TXC. W dodatku trzeba go kasować programowo, jeśli nie używasz przerwania Od TXC. Spróbuj tak: unsigned char USART_Receive( void ) { while ( !( UCSRA & (1<<TXC)) ); UCSRA = 0x40; while ( !(UCSRA & (1<<RXC)) ); return UDR; }

    Mikrokontrolery AVR   11 Gru 2009 11:59 Odpowiedzi: 17    Wyświetleń: 1401
  • [C][ATmega16] - Niechciana zmiana częstotliwości przerwania (Timer1)

    Ojej... rzeczywiście strasznie głupi błąd. Po prawdzie kod był pisany na szybko i nawet nie przyszło mi do głowy że to może być wina umieszczenia całej funkcji w przerwaniu. Dzięki wielkie Panowie :D. Wrzucam kod, być może komuś się kiedyś przyda. [syntax=c]#include <avr/io.h> #define F_CPU 16000000 #include <util/delay.h> #include <avr/interrupt.h>...

    Mikrokontrolery AVR   12 Sie 2012 16:25 Odpowiedzi: 3    Wyświetleń: 1455
  • [Atmega16][C] - TWI/USART - Komunikacja Atmega 16 - Attiny 2313

    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 co sądzicie aby ten problem spróbować zrobić na interfejsie SPI? Z tego...

    Mikrokontrolery AVR   06 Gru 2013 10:19 Odpowiedzi: 7    Wyświetleń: 2124
  • Wybór mikrokontrolera do konwersji danych równoległych na szeregowe: Atmel czy PIC?

    Prosty program na AVRStudio : #include <m16def.inc> ; Prohibits use of non-implemented instructions (ATmega16) .dseg .org SRAM_START .cseg ;—————R...

    Mikrokontrolery   09 Cze 2005 08:15 Odpowiedzi: 18    Wyświetleń: 2220
  • [ATMega16][C] Program się zawiesza w losowych momentach

    Dlaczego podczas odczytu I2C nie będą uwzględniane przerwania? Ja ich na ten czas nie wyłączam, chyba że robi się to sprzętowo. Sam fakt, iż robisz to w obsłudze przerwania, powoduje, że obsługa pozostałych przerwań jest minimalnie opóźniona (stąd obsługa przerwań powinna być błyskawiczna i przekazywać istotne dane do przeliczenia w pętli głównej)...

    Mikrokontrolery AVR   14 Wrz 2011 21:13 Odpowiedzi: 56    Wyświetleń: 4789
  • Problem z transmisja na 250kbits w atmega16, srodowisko IAR.

    Witam. Chce zrobic transmisje szeregowa usart miedzy dwoma stmega 16 z predkoscia taktowania lini 250kbitsow. Z obliczen wyszlo mi ze UBRR dla Q16mhz bedzie rowne 4 :), a dla Q= 8mhz bedzie rowne 8 :) . Ale to jeden z mniejszych problemow.... Jak w srodowisku IAR(ktore jest naprawde niedoceniane, wersja free do 4kb kodu) napisac funkcje realizujace...

    Mikrokontrolery   03 Mar 2007 01:26 Odpowiedzi: 3    Wyświetleń: 994
  • ATMEGA16 UART - Dlaczego nie wysyła wartości 0x31? Błąd w kodzie czy sprzęcie?

    A nota katalogowa przeczytana ? ;) (USART»Accessing UBRRH/UCSRC Registers»Read Access) - s. 160/161 Trzeba 2 razy czytać, cykl zegarowy po cyklu (przerwania trzeba wykluczyć na czas odczytu), aby odczytać zawartość UCSRC . Przykład w asm i C w tabelce na s. 161. Pozdrawiam, Light'I

    Mikrokontrolery   22 Kwi 2005 17:45 Odpowiedzi: 14    Wyświetleń: 2243
  • [ATEMGA162][C/AVRGCC] Odbiór stringów z uart w przerwaniach

    Witam, Próbuję korzystać z biblioteki Peter Fleury do obsługi usart-u, której listing znajduje się poniżej: PLIK uart.c /***************************************... Title: Interrupt UART library with receive/transmit circular buffers Author: Peter Fleury <pfleury(at)gmx.ch> http://jump.to/fleury File:...

    Mikrokontrolery AVR   30 Sie 2009 11:03 Odpowiedzi: 1    Wyświetleń: 3591
  • Jak zbudować sterownik modułowy z RS485 i Atmega do maszyn przemysłowych?

    Skoro nikt mi nie potwierdził że schemat jest dobrze to ja sam potwierdzę (jest dobrze, przetestowałem na żywo). Atmega16, zewnętrzny rezonator kwarcowy 16MHz. Rzeczywiście max to 1Mbps. Teraz kolejne pytanie. Transmisja asynchroniczna działa bez problemu, natomiast jak chcę przesłać dane wykorzystując transmisje synchroniczną to odbierane są krzaki......

    Mikrokontrolery   27 Gru 2011 22:18 Odpowiedzi: 22    Wyświetleń: 5023
  • Jak obsługiwać sprzętowy I2C w Bascom-ie (ATmega16)?

    jestem tylko trochę bliższy prawdy. Ciekawy jestem czy dobrze myślę. Ale mam też dużo niejasności. Czyli tak: 1.Zezwalam na globalne przerwania. 2. Ustawiam prędkość w TWBR 3. Ustawiam w TWCR: TWEN - odpalenie sprzętu TWIE - odblokowanie przerwania sprzetu Do tej pory chyba na razie nic się nie dzieje. 4. Ustawiam w TWCR TWSTA Czy w tym momencie generowany...

    Mikrokontrolery   16 Lis 2006 09:40 Odpowiedzi: 8    Wyświetleń: 2312
  • [Atmega 16][C] - błędy podczas kompilacji programu .

    Witam Napisałem na podstawie kursu http://mikrokontrolery.blogspot.com/2011... 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 http://www.forbot.pl/forum/topics49/c-ua...

    Mikrokontrolery AVR   05 Kwi 2016 19:43 Odpowiedzi: 14    Wyświetleń: 1689
  • [Atmega16][C]obsługa rs 232 i dwóch przerwań zewnętrznych

    witam chcę zrobić obrotomierz na atmega16 mający dwa wejścia, oraz kontaktujący się z PC przez rs232. Impulsy z przerwań są zliczane przez czas 1 sekundy a następnie przemnażane przez 60 i wyświetlane na wyświetlaczu. Po wyświetleniu chce je przesłać do PC, gdy to robię wartość pomiaru jest zaniżana na lcd oraz PC. Np z włączonym przesyłaniem prędkość...

    Mikrokontrolery AVR   19 Lis 2010 11:50 Odpowiedzi: 10    Wyświetleń: 2238
  • [AVR][C] - dostosowywanie rejestrów do różnych procków

    Witam, mam takie pytanie - bo napisałem sobie kilka że tak powiem własnych funkcji i procedur do obsługi różnych modułów procka ale dla przykładu weźmy moduł UART. Napisałem sobie całą obsługę na przerwaniach lub bez w zależności od parametrów. Także opcjonalnie obsługę z przerwaniami i bez czy RS485. I wszystko działa ślicznie ale głównie wtedy gdy...

    Mikrokontrolery   16 Wrz 2009 06:16 Odpowiedzi: 3    Wyświetleń: 1116
  • [ATMEGA16][GCC + AVR Studio] 1Wire, DS18B20, komunikacja

    Rozwiązanie jest proste - stosować _delay_us z <util\delay.h>. Przy 1MHz co prawda można minimalnie mieć 3us opóźnienie, ale w tym przypadku jest to bez znaczenia. A BTW, dziwię się po co tak komplikować prostą sprawę jaką jest obsługa 1-w, skoro nawet w notach aplikacyjnych Atmela pokazane jest jak to zrobić na USART, bez jakichkolwiek opóźnień,...

    Mikrokontrolery AVR   06 Sie 2010 13:49 Odpowiedzi: 14    Wyświetleń: 6115
  • [c] Timer1 w Atmega164P: Niewłaściwa częstotliwość w trybie CTC, 16MHz kwarc

    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); // PD7 <= 1 TCCR1B = (1<<WGM12)|(1<<C...

    Mikrokontrolery AVR   24 Lis 2009 16:44 Odpowiedzi: 8    Wyświetleń: 1664
  • [C][Atmega16A][USART] - zliczanie trwania wysłanego sygnału

    Dodatkowo radziłbym korzystać z przerwania USART_RXC_vect niż z funkcji UART_Recieve(), ponieważ z własnego doświadczenia wiem że sprawia problemy. CO do timera, np. tutaj http://ppelczynski.swspiz.pl/userfiles/f... i oczywiście w datasheecie atmegi masz ustawienia timera i lekkie wprowadzenie w temat. Ogólnie możesz inicjować timer gdy zaczynasz...

    Mikrokontrolery AVR   05 Sty 2013 21:13 Odpowiedzi: 4    Wyświetleń: 1101
  • [ATMEGA16] Jak skonfigurować UART RS485 między ATmega16 a ATmega88?

    Witam. Mam taki problem, gdyż chciałbym ogarnąć komunikację poprzez UART między dwoma mikro. Mam dwa uC: Atmegę 16, która działa jako master oraz Atmegę 88 jako Slave (na której będzie termometr, z którego będę odczytywał dane). Programy, definicje wyglądają następująco: plik RS485.h #indef RS_INT_H #define RS_INT_H //rozmiar buforów nadawania i odbierania...

    Mikrokontrolery AVR   05 Lis 2010 17:24 Odpowiedzi: 2    Wyświetleń: 7690
  • [C] Konfiguracja Atmega16 z TSOP1736 i LD271 - problem z odbiorem sygnału IR

    nie wiem czy dobrze myślę, ale to nie ma szans działać, bo procesor jednocześnie nie nadaje i odbiera... Ma szanse działać ;) zapewniam cię. Tylko trzeba to dobrze oprogramować. Wprawdzie sam kiedyś tak myślałem ale ostatnio aż się zdziwiłem że kody wygenerowane w podczerwieni z diody IR (za pomocą zresztą programu z PC'ta, który przez USART wysyłał...

    Mikrokontrolery AVR   24 Lut 2011 10:55 Odpowiedzi: 27    Wyświetleń: 4212
  • [C][ATmega168][USART] jak wysłać tablicę w przerwaniu a nie stosując pooling?

    witam, o ile poradziłem sobie odbiorem w przerwaniu to nie mogę zmusić ATmegi168 do wysyłania tablicy charów w przerwaniu. stosując pooling działa: [syntax=c] for(int i=0; i<10; i++) USART_Transmit(buff[i]); [/syntax] jak uzyskać ten sam efekt stosując przerwanie: [syntax=c] ISR(USART_TX_vect) [/syntax] i jeszcze funkcja inicjalizująca USART: [syntax=c]...

    Mikrokontrolery AVR   19 Kwi 2012 22:28 Odpowiedzi: 8    Wyświetleń: 1716