ucsra rejestr

Znaleziono około 192 wyników dla: ucsra rejestr
  • Jakie prędkości transmisji UART w stosunku do kwarcu?

    co oznacz U2X = 0 , U2X = 1 ?? To też jest w pdf'ie. U2X to bit w rejestrze UCSRA. Bit odpowiedzialny za dwukrotne zwiększenie prędkości komunikacji.

    Mikrokontrolery   22 Lis 2011 21:06 Odpowiedzi: 24    Wyświetleń: 4910
  • REKLAMA
  • ATmega8 UART przerwanie – dioda LED nie świeci po odebraniu znaku z HyperTerminala

    No to ja tu widzę jeszcze taki dinks: W kodzie masz napisane, że prędkość transmisji to 9600. Zakładam, że mimo wszystko zostałeś przy zegarze procka 1MHz. Z tego zaś wynika, że jeśli do UBRRL wstawiasz 12, to twoja prędkość to nie 9600 a 4800. Drugą opcją jest to, że musisz załączyć bit U2X w rejestrze UCSRA (wtedy będzie 9600).

    Mikrokontrolery AVR   06 Kwi 2011 11:23 Odpowiedzi: 25    Wyświetleń: 2834
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • ATmega328 - Jak użyć timera bez przerwań do odmierzania czasu?

    ... ale wtedy musisz mieć pewność, że obsłużysz to przed pojawieniem się kolejnej sytuacji ustawienia flagi przerwania. Oczywiście TIFR to tylko przykład, bo flagi są także w innych rejestrach, np. TXC w UCSRA.

    Mikrokontrolery AVR   06 Gru 2015 00:46 Odpowiedzi: 8    Wyświetleń: 1011
  • RS485 + AVR: Jak zakończyć przewód i sterować MAX485 w układzie master-slave?

    Rezystory muszą mieć wypadkową rezystancję około 120 Ω. Co daje 390Ω dla każdego rezystora. Nie jest konieczna masa, zegar RC procesora też może być. Należy zwracać uwagę na odczyt błędu ramki (rejestr UCSRA) przed odczytem z UDR. Oczywiście kod CRC jest niezbędny. Topologia gwiazdy, którą przedstawiłeś, raczej nie jest poprawna. Na początek...

    Mikrokontrolery   31 Sie 2011 12:37 Odpowiedzi: 35    Wyświetleń: 10680
  • [Bascom] Brak połączenia pomiędzy Siemens c35 a atmega16

    zmieniło się to wtedy gdy we wtczyce odpiąłeś mase, a dałeś zamiast baterii zasilanie tak ? i w urządzeniu wykorzystujesz ten drugi program co podałeś tak ? a cóz to jest? 'Ubrr = 207 '4800 bps przy U2X=0 'Ubrr = 51 '19200 bps przy U2X=0 'Ucsra = &B00100000 'rejestr UCSRA 'Ucsrb = &B10011000 'Ucsrc = &B10000110 Czy ten drugi program korzysta ze sprzętowego...

    Mikrokontrolery AVR   03 Lip 2009 22:31 Odpowiedzi: 20    Wyświetleń: 2697
  • REKLAMA
  • Niepełny odbiór danych przez RS-232 przy wysyłaniu tekstu z AVR

    Proponowałbym sprawdzać bit UDRE w rejestrze UCSRA, tak jak zaleca DataSheet na stronie 122

    Mikrokontrolery AVR   07 Paź 2009 23:46 Odpowiedzi: 4    Wyświetleń: 1178
  • [Mega32] Jak poprawnie skonfigurować UART w C dla ATmega32?

    Co do wysyłania to myślę użyć tej funkcji: void wyslij (char c) { while(!( UCSRA & _BV(UDRE) )) ; UDR = c; } którą wywołałbym tak: wyslij(zmienna); gdzie zmienna to jakis tam odebrany wczzesniej znak. Teraz zastanawiam się jak przerobić funkcję odbierajaca znaki: char odbierz (void) { loop_until_bit_is_set(USR,RXC);....

    Mikrokontrolery   16 Lip 2008 14:31 Odpowiedzi: 33    Wyświetleń: 6373
  • [ATmega 8][C] jak wykryc odlaczenie urzadzenia od RS ?

    Witam ! Czy ktoś mógłby podsunąć mi pomysł jak wykryć odłączenie urządzenia (telefonu) od portu szeregowego RS232 ? Próbuję sposobu: wysłać do tel. jakąś komendę, poczekać chwile i sprawdzić flage RXC z rejestru UCSRA - taki sygnał że rejestr UDR nie odebrał żadnego nowego bajtu, czyli że telefon jest odłączony.. Niestety nie do końca chce to działać...

    Mikrokontrolery AVR   04 Lip 2009 22:13 Odpowiedzi: 7    Wyświetleń: 1397
  • Jak działa procedura USART_Transmit w Atmega8 z WinAvr?

    Procedura "USART_Transmit" wykorzystuje sprzętowego USARTa ATmegi8. Działa ona w ten sposób, że najpierw sprawdza czy bufor w którym przechowywane są dane do transmisji jest pusty. Jeżeli nie jest pusty to czeka na jego wyczyszczenie, gdy stwierdza, że jest już pusty to wpisuje dana którą przekazujesz jako parametr do rejestru UDR, i transmisja odbywa...

    Mikrokontrolery   12 Wrz 2007 23:05 Odpowiedzi: 20    Wyświetleń: 9734
  • REKLAMA
  • Jak sprawdzić bit parzystości w mikrokontrolerze ATmega8?

    Z tego co się tym bawiłem, to nie dostrzegłem, żeby w AVRach można było jakoś odczytać wartość bitu parzystości. Można odczytać z rejestru UCSRA bit PE, który mówi o błędzie parzystości przy transmisji. To tyle, co ja wiem.

    Mikrokontrolery   12 Sty 2006 08:45 Odpowiedzi: 2    Wyświetleń: 1071
  • REKLAMA
  • ATmega 8L USART - błędy przy odbiorze danych o zmiennej długości

    Przerwanie od odbiornika jest wywoływane w momencie kiedy dana jest gotowa w rejestrze, więc ta pętla do while jest niepotrzebna (zresztą ona jest wręcz nie wskazana bo wydłuża obsługę przerwania o nie wiadomo ile czasu). Poza tym proponuję jeszcze w M8 sprawdzac rejestr UCSRA, w nim są zgłoszone ewentualne błędy (szczegóły w manualu). Poniżej działająca...

    Mikrokontrolery   16 Paź 2004 05:23 Odpowiedzi: 8    Wyświetleń: 2621
  • ATmega32 UART 19200 16MHz avr-gcc – błędny odbiór danych mimo poprawnych rejestrów

    A czym ustawiasz rejestr UCSRA = ? . W nim jest bit odpowiedzialny za podwojenie prędkości usarta.

    Mikrokontrolery   25 Cze 2006 18:51 Odpowiedzi: 10    Wyświetleń: 1348
  • [amtmega16] [ATmega16][WinAVR] Brak transmisji UART z ATmega16 do PC na evbavr05

    Nic, po prostu koledzy mają problemy z interpretacją kodu. Zapewne dla nich loop_until_bit_is_set(UCSRA,UDRE)... to ustawienie bitu UDRE w rejestrze UCSRA, a nie czekanie dopóki w/w bit jest ustawiony. Oczywiście UDR=ch; nie powoduje wysłania żadnych danych przez UART.

    Mikrokontrolery AVR   09 Cze 2010 11:45 Odpowiedzi: 16    Wyświetleń: 1515
  • [atmega8][c/c++] Problem z usart, dostaje tylko 3 znaki

    Przesyłaj ciąg aż do napotkania znaku o kodzie 0x00 czyli końca ciągu: void send_txt(char *text) { while(*text != 0) { UDR = *text; _delay_ms(100); text++; } } A wysłanie znaku lepiej sprawdzić poprzez flage UDRE (USART Data Register Empty) z rejestru UCSRA. Jeżeli jest ustawiona to można do rejestru UDR wpisywać...

    Mikrokontrolery AVR   12 Lip 2009 23:46 Odpowiedzi: 4    Wyświetleń: 1343
  • Jak usprawnić program oscyloskopu na Atmega32 do przesyłu danych do PC?

    Aby przyspieszyć komunikację po uarcie: - włącz bit u2x w rejestrze ucsra - przesyłaj dane w formacie Hex a nie bin. Zmniejszysz ilość przesyłanych znaków. Aby przyspieszyć działanie programu: - przenieś konwersję adc na przerwania. W momencie oczekiwania na koniec konwersji będziesz wysyłać dane po uarcie. Mam nadzieję że pomogłem.

    Mikrokontrolery AVR   23 Wrz 2018 18:24 Odpowiedzi: 15    Wyświetleń: 1359
  • [atmega] Kompilacja freemodbus na atmega168 z Winavr - błędy avr-objcopy

    Chciałem obserwować stan bitu TXC w rejestrze UCSRA, ponieważ program zatrzymywał mi się na: loop_until_bit_is_set(UCSRA,TXC)... ale właśnie do mnie dotarło, że ten warunek powinien być sprawdzany po wysłaniu, a nie przed. Chociaż i tak dobrze było by móc sprawdzić stan dowolnego bitu w dowolnym rejestrze i wyświetlić go na LCD.

    Mikrokontrolery AVR   22 Maj 2011 09:17 Odpowiedzi: 18    Wyświetleń: 20388
  • KIT AVT592 - Jaką wersję WinAVR użyć do kompilacji programu?

    Wrzuciłem te procedury do watomierz.c i wyskoczyły błędy Usuwam procedury i wszystko OK Bo te procedury są przeznaczone dla innego typu procesora. AT90S2313 nie ma takich rejestrów jak UCSRA czy UBRRL.

    Mikrokontrolery AVR   17 Gru 2010 14:52 Odpowiedzi: 35    Wyświetleń: 3496
  • [C] ATtiny2313 i FT232 - brak komunikacji z PC przez USART, co sprawdzić?

    Dawno nie zajmowałem się AVRami, ale z tego co pamiętam, przed każdą operacją transmisji znaku poprzez USART należy skasować bit TXC z rejestru UCSRA. W przypadku, gdy używasz przerwań bit ten jest kasowany automatycznie w trakcie wywoływania obsługi przerwania od zakończonej transmisji. W Twoim przypadku, aby manualnie wykasować ten bit, należy ustawić...

    Mikrokontrolery AVR   17 Maj 2011 18:27 Odpowiedzi: 10    Wyświetleń: 2770
  • ATMega 8 USART Prędkość wysyłania, czemu tak wolno?

    Problem rozwiązałem, choć nie do końca rozumiem. Ustawiłem bit URSEL w rejestrze UCSRC. Teraz działa jak należy, tzn. przy prędkości 9600bps wysyła kilkaset liczb na sekundę. Doczytałem, że ten bit służy do wyboru rejestru UCSRA lub UBRRH. Czy ktoś mógłby mi wyjaśnić na chłopski rozum, do czego służy ten bit?? Bo w tym momencie program działa, ale sam...

    Mikrokontrolery AVR   29 Sty 2012 21:01 Odpowiedzi: 15    Wyświetleń: 2280
  • Jak opóźnić przełączanie kierunku transmisji RS-485 na ATMEGA?

    "Usart Transmit Complete" w rejestrze UCSRA i może w pętli while oczekiwać na jej ustawienie i dopiero przełączać kierunek. int USART_Transmit( unsigned char data ) { PORTB|=_BV(2); waitms(1); //dla pewności, że max485 się przełączy while ( !( UCSRA & (1<<UDRE)) ); UDR = data; while (bit_is_clear(UCSRA,TXC))...

    Mikrokontrolery   08 Sty 2011 23:35 Odpowiedzi: 9    Wyświetleń: 5313
  • AT90PWM3 - Rs-232: Nieprawidłowe dane przy transmisji 38400 Baud, 8MHz oscylator

    Pokaż schemat połączeń tego układu, bo rozpisanie w dziedzinie czasu tego co wysyłasz i tego co odbierasz pokazuje, że chyba masz odwrotną polaryzację sygnału i nieznacznie rozjechaną prędkość. Od strony programowej widzę tylko brak inicjacji wartości rejestru UCSRA i kilka drobnych błędów, które nie powinny wpływać na pracę. Np. ubrr_value>>16 jest...

    Mikrokontrolery AVR   01 Wrz 2013 21:02 Odpowiedzi: 15    Wyświetleń: 2682
  • ATMEGA16 UART nie wysyła danych do ATTINY2313 – konfiguracja rejestrów UART

    mega 16 juz działa sprawnie:) natomiast z tiny2313 mam klopot bo rejestry mam ustawione identycznie chodz nie ma on najstarszych bitow z UCRSC oraz UBRRH ale wgranie do nich czegokolwiek raczej nie zaszkodzi bo maja atrybut only read moje rejestry UCSRB = 0x1c; UCSRA = 0x00; UBRRH = 0x00; UBRRL = 0x03; UCSRC = 0x86; UDR odczytuje mi jako 0xff a wysyłam...

    Mikrokontrolery   01 Maj 2008 16:46 Odpowiedzi: 11    Wyświetleń: 2331
  • ATMega8: UART, flaga UDRE, problem z transmisją RS232, kod z datasheet'a

    Witam, Mam problem z procesorem ATMega8 oraz transmisja uart. Skopiowałem z datasheet'a kod pozwalający wysyłać dane za pomocą rs232. Kłopot jest w tym, że nie jest ustawiana flaga UDRE, oznaczająca wolny bufor nadawania przez co wchodzi w nieskończoną pętlę. Pytanie: DLACZEGO?? Testowałem na dwóch komputerach w GCC i ASM i zawsze to samo. Jakieś sugestie...

    Mikrokontrolery   25 Sie 2011 10:56 Odpowiedzi: 16    Wyświetleń: 3768
  • Kod dla Atmega8A + HC-05 (Bluetooth): jak podłączyć terminal?

    (...) if(odb_flaga) {at_komenda_sprawdz();}... } } Kod robi takie błędy --> Na początku sam wykonuje case 0, po nim mogę wprowadzić case 0 jeszcze raz po czym pętla się kończy a chciałem mieć możliwość nieskończonego wybierania klawiszy . Case 1 nie chce działać Na podstawie podanego fragmentu kodu trudno dokładnie...

    Mikrokontrolery Początkujący   11 Wrz 2023 11:57 Odpowiedzi: 66    Wyświetleń: 1575
  • USART na AVR Mega8535 z wewnętrznym zegarem 1MHz - błędna transmisja

    witam! Czy udało się komuś odpalić USART-a przy wewnętrznym zegarze 1MHz? Procek mega8535. U mnie wysyła śmieci, a według datasheet'a max błąd dopasowania częstotliwości wynosi 0.2%*, czyli nie powinno być źle... Używam terminala "Bray'a", który umożliwia ustawienie dowolnej prędkości transmisji - "przeskanowałem" od 6.500 do 11.000 b/s z krokiem co...

    Mikrokontrolery   04 Gru 2005 20:08 Odpowiedzi: 11    Wyświetleń: 2002
  • [Atmega32][C] Jak usunąć zawartość bufora USART?

    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 do funkcji odczytującej jedną ze 100 wysłanych identycznych liczb Nie bardzo rozumiem...

    Mikrokontrolery AVR   07 Lis 2011 07:26 Odpowiedzi: 3    Wyświetleń: 1681
  • AVR - UART - dziwne wyniki w komunikacji z komputerem

    Podejrzewam odjazd częstotliwości wbudowanego oscylatora ATmega w górę. Możesz to zweryfikować wstawiając po UDR=command[i]; Jakieś opóźnienie rzędu ok. milisekundy. To jest za to zbędne (drugi raz, po załadowaniu rejestru UDR): while(!(UCSRA&(1<<UDRE))); A jeżeli wstawienie tego pomaga, to by wskazywało na objaw, o którym piszę. Procedury...

    Mikrokontrolery AVR   05 Lut 2015 22:41 Odpowiedzi: 21    Wyświetleń: 2529
  • ATmega 128 rs232 c. Błędy. UCSRA undeclared, UDR undeclared.

    Możliwe że te rejestry powinny się nazywać "UCSR0A" i "UDR0". EDIT. Uprzedzili mnie :D

    Mikrokontrolery AVR   24 Lis 2011 15:16 Odpowiedzi: 10    Wyświetleń: 2216
  • Jak skonfigurować przerwania UART na ATmega128 w języku C?

    Teraz udczyt masz jak zwykle dwie możliwość pulling i przerwania - pulling jest prościutki unsigned char USART_Receive( void ) { /* Testujesz flagę RXC w rejestrze UCSRA */ while ( !(UCSRA & (1<<RXC)) ) ; /* I czytasz z UDR jak w SBUF w 51*/ return UDR; } a teraz z przerwaniami :) Tutaj podobnie jak...

    Mikrokontrolery   25 Wrz 2007 10:59 Odpowiedzi: 16    Wyświetleń: 3150
  • ATMEGA8, asembler: problem z wysyłaniem danych przez RS485, USART, SN75176

    Raczej nie nastepuje to za szybko bo mam w kodzie out udr, r20 aaa: sbis ucsra, udre rjmp aaa cbi portd, 4 i cbi pord, 4 wykonywane jest dopiero po wysłaniu bajtu, który znajduje się w r20, dopóki bajt jest wysyłany program skacze od aaa: do rjmp aaa poniewaz bit udre w rejestrze ucsra jest ustawiany dopiero gdy bufor nadawczy jest opróżniony i nadawanie...

    Mikrokontrolery   25 Lut 2007 01:23 Odpowiedzi: 21    Wyświetleń: 3873
  • AVR - USART w Atmega8A 8MHz, 19200 - wysyła niepoprawne znaki

    Witam, Napisałem program do obsługi USART-a, ale nie chce on poprawnie wysyłać znaków. Atmega8A, 8MHz-kwarc, 19200. W kodzie pokazałem problemy: [syntax=c] #include <string.h> #include <avr/io.h> #include <stdlib.h> void uart_puts(char *s); int main(void) { // zapis rejestrów USART UCSRA= 0; UCSRB=0x18; UCSRC=0x86; UBRRH=0; UBRRL=25;...

    Mikrokontrolery AVR   15 Gru 2014 10:35 Odpowiedzi: 4    Wyświetleń: 843
  • [Atmega16] [Atmega16][C] - Komendy VISCA nie działają, wysyłanie 00 w nieskończoność

    Witam, męczę się już dłuższy czas nad oprogramowaniem sterownika własnej roboty do kamery. Kamera przyjmuje komendy po protokole VISCA. Baud rate 9600; 8 bit słowo; parity none; 1 bit stopu. Napisałem program wysyłający odpowiednią komendę po wciśnięciu odpowiedniego przycisku, ale reakcji kamery nie było żadnej, więc postanowiłem podłączyć się pod...

    Mikrokontrolery Początkujący   30 Kwi 2014 08:46 Odpowiedzi: 8    Wyświetleń: 1680
  • ATMega16 i USART - niepoprawne znaki przy transmisji danych, jak naprawić?

    Hmm...zainstalowalem sobie go ale w sumie nic wiecej ciekawego mi nie podaje. Za to po probach znalazlem, ze komunikacje mam raczej prawidlowa, bo: USART_Transmit('b'); spowoduje wyslanie mi literki b na terminal, wiec wszystko chyba gra z komunikacja, teraz tylko co zrobic, by mi prawidlowo wyslal wartosc zmiennej ? Dodano po 1 No dobra, juz...

    Mikrokontrolery   08 Maj 2007 18:04 Odpowiedzi: 13    Wyświetleń: 1983
  • [ATmega128] Błąd kompilacji USART w ATmega128 - nieznana funkcja w AVR Studio 4

    Witam, Chciałem skomunikować ATmege128 z komputerem PC. Korzystając z manuala do tego kontrolera uzyskałem funkcję inicjalizującą: void USART_Init( unsigned int baud ) { /* Set baud rate */ UBRRH = (unsigned char)(baud>>8); UBRRL = (unsigned char)baud; /* Enable receiver and transmitter */ UCSRB = (1<<RXEN)|(1<<TXEN); /* Set frame...

    Mikrokontrolery AVR   07 Sty 2010 20:29 Odpowiedzi: 6    Wyświetleń: 1530
  • [ATMEGA8] Jak zrealizować obsługę przerwań RS232 w ATMEGA8 w języku C?

    Najpierw spróbuj może dodać: ...ale jak ustawię ręcznie bit UDRE w UCSRA który oznacza że bufor jest pusty, także nic się nie wysyła. To nie jest argument. Flag przerwań w AVR generalnie nie da się ustawiać programowo, niektóre można tylko wyzerować. Akurat UDRE można wyzerować tylko poprzez wpisanie bajtu danych do rejestru UDR, flaga ustawiana jest...

    Mikrokontrolery Początkujący   23 Sie 2012 21:45 Odpowiedzi: 2    Wyświetleń: 1497
  • Przetwornik A/C, rejestr ADCH, konwersja na ciąg bitów.

    Jak ja skasowac? I czy w tedy nie odbierze mi tylko raz? Chcialem w kółko odbierać. Zle mi sie przedtem skopiowal kod odbioru, poprawnie jest taki: while ( !(UCSRA & (1<<RXC)) ); pomiar=UDR; utoa(pomiar,bufor,10); write_text(bufor); waitms(40); write_command(0x01); UCSRA=0; Oczywisci...

    Mikrokontrolery   07 Gru 2006 10:50 Odpowiedzi: 13    Wyświetleń: 1983
  • AVR - Jak sprawdzić używane rejestry w przerwaniu NAKED od UART?

    Mam ciekawy problem. Chciałem aby przerwania od UARTA były INTERRUPT. Nie można jednak tego zrobić, bo flaga przerwania jest kasowana po operacji na UDR a nie powejściu w IRQ tak jak np w przypadku timerów.Gdy zadeklaruje sie więc przerwanie INTERRUPT to natąpi przepełnienie stosu. W konsekwencji trzeba użyć przerwania SIGNAL, w nim wykonać operację...

    Mikrokontrolery Początkujący   18 Sty 2017 01:11 Odpowiedzi: 16    Wyświetleń: 1491
  • SE T630 i atmega16 ,szukam schematu podlaczenia pinow...

    myslalem ze : loop_until_bit_is_set(UCSRA,TXC); " Instrukcja UDR=c umieszcza w rejestrze UDR znak do wysłania. Instrukcja loop_until_bit_is_set(USRA,TXC) powoduje oczekiwanie programu na koniec transmisji znaku. Instrukcja sbi(USRA,TXC) ustawia znacznik TXC w rejestrze USR aby można było sprawdzać kolejny wysyłany bajt." a: UCSRC|=_BV(UCSZ1); UCSRC|=_BV(UCSZ0);...

    Mikrokontrolery   15 Sie 2007 00:16 Odpowiedzi: 28    Wyświetleń: 3258
  • Dlaczego rejestr UBRRH zmienia się po instrukcji `out UCSRC, R16` w Attiny2313?

    Witam! Próbuję uruchomić UARTA w trybie asynchronicznym w asemblerze. Debbuguję program i po wykonaniu linii: out UCSRC, R16 zmienia mi się stan rejestru UBRRH z 0x00 na 0x26. Pytanie - dlaczego? Poniżej strzępki moich asemblerowskich myśli :) .INCLUDE "tn2313def.inc" ; kwarc 8MHz .equ BAUD=51 ;predkosc transmisji szeregowej 9600bps .list...

    Mikrokontrolery AVR   10 Kwi 2009 15:19 Odpowiedzi: 5    Wyświetleń: 1943
  • Jak poprawnie skonfigurować komunikację RS232 między PC a ATmega8?

    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 następująco: .INCLUDE "m8def.inc" ;czesc systemowa 1MHz...

    Mikrokontrolery   05 Wrz 2007 22:18 Odpowiedzi: 4    Wyświetleń: 1334
  • Konfiguracja ATtiny2313 11,0592MHz do odbioru danych z PC przez MAX232

    #include <avr/signal.h> Wywal, nowa wersja gcc dla avr wymaga juz tylko <avr/interrupt.h> Zresztą, dwie poniższe funkcje w ogóle nie korzystaja z przerwań, więc możesz się pozbyć handlerów (SIGNAL(...){}) i uaktywniania przerwań (UCSRB = (1 << RXCIE) | (1 << TXCIE);) zresztą cały ten fragment jest źle. UCSRB = 1 << TXEN;//...

    Mikrokontrolery   30 Gru 2007 19:46 Odpowiedzi: 26    Wyświetleń: 3990
  • [mega8] [mega8][gcc] Niekonsekwentne działanie procedury wysyłania danych przez USART

    no wiec z ta kolejnością wysyłanych danych to jest w porządku (tej konkretnej kolejnosci wymaga ramka) kod funkcji zamieszczam : void USART_putchar(char c) // wysyła znak c na USART { UDR = c; // wpisz c do rejestru UDR loop_until_bit_is_set(UCSRA,TXC)... // czekaj na zakończenie transmisji SET(UCSRA,TXC); // ustaw bit TXC...

    Mikrokontrolery AVR   21 Sty 2009 13:33 Odpowiedzi: 8    Wyświetleń: 1088
  • [ATmega16][C]Odbieranie danych od procesora po RS232

    Jak pojawiaja sie krzaczki to jest problem z predkoscia. W jakim programie piszesz? Jaki masz kwarc? Dodano po 11 Zobacz czy dziala Ci to: // Sterownie diodą LED podłączoną do dowolnej linii mikrokontrolera // za pomocą dowolnego znaku odebranego z portu szeregowego // mikrokontrolera i wysyłanie jej stanu na port szeregowy #include <avr/io.h>...

    Mikrokontrolery AVR   17 Gru 2008 22:43 Odpowiedzi: 6    Wyświetleń: 2628
  • [Atmega8 Asm]Nie można wysłać dwóch liczb pod rząd

    Proszę spróbować następującej sekwencji uruchamiającej UART. Na symulatorze zachowuje się ona "lepiej". Oryginalna wersja traciła wpis w rejestrze UCSRC. UART_init: cli ;UBRRH ldi tmp,0x0 out UBRRH,tmp ;UBRRL ldi tmp,0xC out UBRRL,tmp ;UCSRA ldi tmp,0x0 out UCSRA,tmp ;UCSRB ldi tmp,(1<<TXEN) out UCSRB,tmp ;UCSRC ldi tmp,(1<<URSEL)|(1<&...

    Mikrokontrolery AVR   29 Maj 2010 00:27 Odpowiedzi: 10    Wyświetleń: 1230
  • [ATmega2560][avrasm] Brak reakcji uK na zmiany wejść

    W C używałem tych samych funkcji do Mega2560 ... Skoro tak, pewnie kolega wie lepiej ode mnie czy te 4 rejestry wystarczą ;) W dokumentacji w sumie też więcej nie piszą. Ale czasem można coś przeoczyć. . Praktycznie wszystkie AVRmega mają takie same rejestry i tą sama obsługę wszystkich USART. Wyjątek stanowi nieprodukowany Mega161, produkowany nadal...

    Mikrokontrolery Początkujący   03 Gru 2018 16:21 Odpowiedzi: 42    Wyświetleń: 1545
  • Jak poprawnie zestawić połączenie UART ATmega8535 z komputerem na Linuxie?

    Wczoraj z kolegą posiedzieliśmy i udało nam sie wychwycić kilka bugów, zarówno sprzętowych jak i softwarowych. Wieczorkiem udało mi sie nawiązać połączenie pomiędzy komputerem a sterownikiem (nie udało sie ustabilizować transmisji, ale przynajmniej od strony sprzętowej zadziałało tak jak trzeba - impulsy elektryczne o właściwych wartościach). Dziś zlokalizowałem...

    Mikrokontrolery   17 Sie 2005 23:15 Odpowiedzi: 16    Wyświetleń: 2435
  • Dlaczego SIGNAL(SIG_UART_RECV) zapętla się i wysyła jedynki? Jak to naprawić?

    Skomentuję ten twój kod. #include <avr/io.h> // dostęp do rejestrów #include <util/delay.h> #include <avr\sfr_defs.h> #include <avr\interrupt.h> #include <avr/interrupt.h> #include <avr/signal.h> #define F_CPU 16000000 //częstotliwość zegara w Hz #define UART_BAUD 19200UL //prędkość transmisji #define UART_CONST (F_CPU/(16ul*UART_BAUD)-1...

    Mikrokontrolery AVR   21 Cze 2009 14:59 Odpowiedzi: 7    Wyświetleń: 2449
  • UART na ATmega8 - dlaczego transmisja nie działa?

    Dziękuje bardzo - działa. Zastanawia mnie jedno - w swoim programie używam funkcji sbis UCSRA, UDRE czyli skip if bit in register is set w przypadku UDRE przez ustawienie rozumie sie przypisanie 0. Z tego wynika że sbis nie sprawdza czy jest tam jedynka, ale sprawdza czy jest na swój sposób ustawiony (w niektórych rejestrach może to być 0, w niektórych...

    Mikrokontrolery   05 Wrz 2006 12:06 Odpowiedzi: 6    Wyświetleń: 2551
  • [ATmega32] [ATmega32][C] USART - przesyłanie danych z portu szeregowego na port B

    Witam ! Założenia kodu: - port B ustawiony jako wyjście; - dane odebrane z portu szeregowego są przesyłane na port B - stan portu B jest z powrotem wysyłany za pośrednictwem portu szeregowego #include<avr/io.h> #include<util/delay.h> #include<avr/signal.h> #include<avr/interrupt.h> void InitUSART(void) { UBRRH =...

    Mikrokontrolery AVR   27 Paź 2008 17:58 Odpowiedzi: 7    Wyświetleń: 1790
  • [ATmega8] ATmega8: Niedokładne pomiary odległości - problem z komparacją sygnału

    Witam Mam problem z ultradźwiękowym miernikiem odległości na atmedze8. Generacja częstotliwości przebiega prawidłowo, na odbiorniku za torem wzmacniaczy otrzymuję widoczny syglał odbity od przeszkody. Błędy pojawiają się przy komparacji sygnału z napięciem referencyjnym. Wynik jest bardzo niedokładny, ponadto od drugiego bądź trzeciego pomiaru procesor...

    Mikrokontrolery AVR   25 Maj 2008 13:37 Odpowiedzi: 14    Wyświetleń: 2887
  • [ATmega16] [ATmega16][C] SPI - Odczyt 0xFF/0xF8 z niepodłączonego MISO, MOSI, SCK, CS

    Mam taki kod jak niżej. Chcę odczytać ekspander po SPI i wysłać jego wartość na PC przez uart. No i jak nic nie jest podłączone do Atmegi, atmega wysyła albo wartość 0xFF albo 0xf8 rejestru SPDR. Dlaczego? Czy czasem rejestr SPDR nie powinien być pusty (wartość 0x00) przy odbiorze danej z niepodłączonego pinu MISO, MOSI, SCK czy CS? Czy podłącze MCP...

    Mikrokontrolery AVR   09 Wrz 2008 10:17 Odpowiedzi: 3    Wyświetleń: 1806
  • [ATmega8][C] - Połączenie przez bluetooth, nie reaguje

    Witam, buduję model pojazdu gąsienicowego sterowanego za pomocą telefonu z systemem android po przez moduł BTM222. Od dłuższego czasu próbuję uzyskać reakcję ze strony atmegi lecz bezskutecznie. Wyprowadzenia PORTC 0-3 podłączone są pod mostek h L298n. Aplikacja łączy się z modułem lecz przy wysłaniu komendy miga tylko dioda DATA przy BTM. Podejrzewam,...

    Mikrokontrolery Początkujący   09 Mar 2013 16:30 Odpowiedzi: 2    Wyświetleń: 1572
  • DS1820 nie odpowiada na reset z AT90S2313 – testowane różne czasy, assembler

    No cóż, jak dla mnie to 2 sprawy do przerobienia : 1. Pomiar czasu na Timer0 - jakaś parka bajtów w SRAM, służąca za licznik, który co przerwanie zmniejsza swoją wartość do zera, ale się nie przekręca. Jak chcemy zmierzyć czas, to cli, zapis licznika, sei i już tylko sprawdzamy czy licznik jest wyzerowany, a w międzyczasie program może wyskoczyc do...

    Mikrokontrolery   28 Mar 2005 22:13 Odpowiedzi: 9    Wyświetleń: 1410
  • BASCOM, AVR, RS485, kłopot z komunikacją kilku urządzeń

    Witam Bardziej profesjonalnie jest wszystkie układy potraktować jako slave . Każdy słucha i czeka na przerwanie z uarta , jak je otrzymuje odbiera zawartość z udr porównuje i albo odbiera dalej albo ignoruje i czeka na kolejny adres . Atmel wyposażył układy w tryb multimaster ,który się do tego świetnie nadaje i warto o nim przeczytać w dokumentacji...

    Mikrokontrolery Początkujący   23 Paź 2020 10:17 Odpowiedzi: 27    Wyświetleń: 2937
  • Implementacja TimeOut w UART na AVR nie działa - zawiesza się w UART_receive

    1. Nie pamiętam rejestrów AVR ale zakładając, że twój timer działa to funkcja powinna poinformować środowisko jaki jest status operacji a czas timeoutu powinien być ustawiany w funkcji Przy okazji włóż trochę wysiłku w formatowanie kodu - bo tego się nie da oglądać., [syntax=c]#define UART_TIMEOUT 1 #define UART_OK 0 uint8_t UART_receive(uint_t *data,...

    Mikrokontrolery   07 Lut 2019 22:11 Odpowiedzi: 25    Wyświetleń: 999
  • [AVR][C] Odbieranie znaku przez uC wysyłanego z komputera przez USART

    Pozwolę sobie zauważyć, że: USART_Receive() sprawdzi, czy flaga RXC jest ustawiona i - jeśli nie - zakończy działanie, zwracając właściwie trudno mi określić co. Trudno określić, bo funkcja zwraca niezainicjowaną zmienną, której - w przypadku, gdy RXC=0 - nie przypisujesz żadnej wartości. Nie wiem też co z tym kodem zrobi optymalizacja. W zasadzie definiowanie...

    Mikrokontrolery AVR   29 Mar 2011 16:21 Odpowiedzi: 7    Wyświetleń: 5558
  • [Atmega8] Czy Atmega8 z wewnętrznym zegarem 8MHz wymaga kwarcu do UART?

    The TXCn Flag can be used to check that the Transmitter has completed all transfers A sprawdzasz The UDREn Flag indicates if the transmit buffer (UDRn) is ready to receive new data.

    Mikrokontrolery AVR   01 Gru 2014 01:07 Odpowiedzi: 2    Wyświetleń: 1071
  • ATmega48 - jak zaimplementować odbiór danych w transmisji szeregowej 9600 bodów?

    tutaj masz dobry kod na atmege8: (atmega48, 88, 168 troche sie różni rejestrami i są bardziej kłopotliwe ale to tylko kwestia podmiany nazw): Odbieranie koniecznie w przerwaniu!! jak dla mnie tylko taki sposób ma prawo bytu :) SIGNAL (SIG_UART_RECV) { odebranyZnak = UDR; .... <--- tu robisz sobie z tym znakiem co chcesz } Funkcje...

    Mikrokontrolery AVR   07 Sty 2010 20:48 Odpowiedzi: 13    Wyświetleń: 2167
  • [avr] Jak zapamiętać dane z UART w AVR ASM podczas ciągłej pętli?

    Znalazłem dwa problemy: 1. Ten program nie ma prawa działać, bo instrukcją sbis UCSRA, RXC pomijasz odbieranie znaku z UDR, kiedy jest zapalona flaga RXC! Nigdy nie odbierzesz niczego. Zamień instrukcję sbis na sbic. Pomijam już, że nie inicjujesz rejestrów USART-a, nie ustawiasz szybkości transmisji, ani nie włączasz odbiornika. 2. Symulator v1 nie...

    Mikrokontrolery AVR   06 Sie 2009 09:30 Odpowiedzi: 13    Wyświetleń: 2632
  • USART Atmega16A - błędne dane przez RS232, jak poprawić połączenie?

    Witam. Mam problem z podłączeniem atmegi z komputerem przez rs232. Nie wiem gdzie popełniam błąd w połączeniu czy w programie. Podłączałem bezpośrednio 3 pin pod pod Rx, 2 pod Tx, a 5 pod masę uC. Podłączałem tez według schematu [url=]http://blog.topgun.kiev.ua/wp-cont... lecz dostaje w odpowiedzi krzaczki, <0>, bądź...

    Początkujący Naprawy   20 Gru 2012 11:54 Odpowiedzi: 5    Wyświetleń: 1104
  • [ATMEGA32] [C] jak zrobić arduinowe serial.available, Przerwanie od UART.

    A Wie ktoś może, czy jest jakiś rejestr, albo coś co pozwoliłoby mi uzyskać wynik zbliżony do Serial.available w arduino? Przeciez juz to sprawdzasz. W funkcji USARTReadChar czekasz w petli while do momentu as jakies dane nie pojawia sie w buforze. Rownie dobrze mozesz sprawdic to tylko raz i zwrócic wynik. [syntax=c] /* Funkcja zwróci 0 jeśli znak...

    Mikrokontrolery   29 Gru 2017 18:13 Odpowiedzi: 8    Wyświetleń: 774
  • ATMega32A - Komunikacja szeregowa, ustanowienie parametrów

    Jeśli zapisujesz coś do rejestru to zapisz to jednym rzutem Święta prawda. To i ostatnie zdanie nasunęło mi trop, który przybliża mnie do rozwiązania. Teraz funkcja wygląda tak: [syntax=c] void UART_init(bool RX,bool TX) { UCSRA = 0b00000000; UCSRB = 0b00000000; UCSRC = 0b10100110; if(RX) { UCSRB |= (1<<RXEN); } if(TX) { UCSRB |= (1<<TXEN);...

    Mikrokontrolery AVR   05 Cze 2018 15:18 Odpowiedzi: 9    Wyświetleń: 759
  • Konfiguracja portów Atmega16 i Atmega128 z SN75176 przez UART RS485

    na jakiej diodzie???? tzn gdzie ją dałeś? ;) ja uzyskiwałem przy takim układzie prędkości transmisji 115200 przy kwarcu 11.059.200 Hz. Schemat połączeń uC z SN75176 mam dokładnie taki jak ty, poza tym że tylko 1 rezystor 120R. A tak nawiasem mówiąc - o jakim czsie przełączania mówisz? przecież przed wysłaniem ustawiasz stan wysoki i po zakończeniu wysyłania...

    Mikrokontrolery   08 Sty 2007 23:57 Odpowiedzi: 9    Wyświetleń: 2900
  • ATTiny2313: Problemy z transmisją przy wyższych BaudRate na PC?

    tak to robisz? #define USART_BAUDRATE(br, fosc) (fosc/8/br-1) UBRRH = (unsigned char) (baud_divider >> 8); UBRRL = (unsigned char) (baud_divider); // USART setup UCSRA = _BV(U2X); // U2X enabled UCSRC = _BV(UCSZ1) | _BV(UCSZ0); // Access UCSRC, Asyncronous 8N1 UCSRB = _BV(RXCIE)...

    Mikrokontrolery   10 Lis 2006 20:54 Odpowiedzi: 14    Wyświetleń: 4453
  • [Atmega16][język C] Przesyłanie informacji UART -> PC

    witam mam problem z kompilacją kodu na atmege16, Program służy do wysyłania znaków z atmegi16 przez UART na komputer z użyciem standardowych funkcji typu puts, printf itd. Kompilator avr-gcc (WinAVR 20100110) 4.3.3 //---------------------------harddef.h #ifndef HARDDEF_H_INCLUDED #define HARDDEF_H_INCLUDED #define DEF_BAUD 4800 #endif //HARDDEF_H_INCLUDED...

    Mikrokontrolery AVR   20 Lis 2010 23:34 Odpowiedzi: 4    Wyświetleń: 2070
  • UART - Nieprawidłowe dane zamiast 1 i 0, problem z konfiguracją?

    Witajcie mam następujący problem, mam prosty program do wysyłania 1 oraz 0 w odstępie co sekundę. Jednak zamiast tego są jakieś krzaki. Moje pytanie w czym może leżeć problem, załączam kod, oraz wygląd na terminalu, kolejne pytanie to czy muszę programować fuse bity do odpowiedniego działania UARTA czy to właśnie przez to jest problem, oraz co się mogło...

    Mikrokontrolery AVR   26 Paź 2009 12:44 Odpowiedzi: 12    Wyświetleń: 3307
  • Jak zamienić makra cbi i sbi na nowsze w AVR Studio?

    A mógłbyś mi jeszcze pomó w takim czyms? ; Mam problem. Pisze program do komunikacji przez port UART, żeby móc wysyłać tekst i odbierac. Niestety coś mi to nie dziala. Kopiluje sie z jednym warningiem. Kod wygląda tak : #include <avr/io.h> // dostęp do rejestrów #include <avr/pgmspace.h> #include "uart.h" // Zmieniając poniższe definicje...

    Mikrokontrolery   24 Wrz 2007 07:38 Odpowiedzi: 5    Wyświetleń: 1780
  • ATMEGA-8 i RS232 - brak komunikacji, wysyłanie danych co 5 sekund

    Witam, mam taki projekt do zrobienia w którym muszę miedzy innymi wysłać informacje z ATMEGI-8 do komputera. Napisałam krótki program który powinien wysyłać co 5 sekund znak '5' przez TxD procesora: #include <avr/io.h> #include <util/delay.h> #define F_CPU 1000000 //częstotliwość zegara w Hz #define UART_BAUD600 //prędkość transmisji #define...

    Mikrokontrolery AVR   25 Mar 2009 17:44 Odpowiedzi: 16    Wyświetleń: 3995
  • [atmega32] Jak zwiększyć prędkość USART w Atmega32? Dioda miga z 30Hz niezależnie od Baudrate

    Makra usunięte w inicie wpisałem UBRRL=25, bo kompilator nie widział rejestru UBRR. żadnych zmian. Próbowałem również użyć zewnętrzny kwarc 7,3728 MHz żeby uzyskać 0% błędu w usart przy ubrr = 23, ale dalej to samo 30 znaków/sekundę. Doszedłem do tego że praktycznie całe opóźnienie powodowane jest przez linijkę: while ((UCSRA & (1 << UDRE))...

    Mikrokontrolery   06 Mar 2011 15:07 Odpowiedzi: 13    Wyświetleń: 1566
  • Jak poprawnie zainicjować USART w ATmega8535? Rejestry UCSRC i UBRRH

    Hej, napisalem cos takiego na ATm8515, fuse_high=0xd9, uP pracuje na 1MHz, transmisja ustawiania na 8N1, bez parzystosći, 19200, 9600 i za każdym razem komputer odbiera od uP przekłamaną w całości transmisję. Coś zmaściłem, ale co?? Skończyły mi się pomysły.. Z góry dzięki, migod usart.c --------------------------- static volatile u08* data; void usart_init(u16...

    Mikrokontrolery   04 Paź 2004 22:19 Odpowiedzi: 11    Wyświetleń: 2662
  • Błąd kompilacji w AVR Studio: nieznana funkcja nadaj() w kodzie UART

    spr cos takiego ;) niemasz wogole funkcji main, a te ustawienia uarta niesa wogole w zadneg funkcji. oczywiscie plik makefile masz poprawnie stworzony, odpowiedni procek i predkosc etc? jezeli nie to nie dziw sie ze kompilator nie wie skad ma wziac nazwy rejestrow skoro nie podales mu z jakiego uC one są #include <avr/io.h> //nadawanie pojedynczego...

    Mikrokontrolery AVR   19 Wrz 2009 14:34 Odpowiedzi: 11    Wyświetleń: 4168
  • Jak połączyć zasilacz z ATMega przez RS232 i skonfigurować USART?

    panowie chce polaczyć zasilacz (sterowany mikrokontrolerem ATMega) z komputerem przez złacze RS232. działałby na zasadzie wysylania z komputera odpowiednich kodów w ASCII a mikrokontroler by sobie je odpowiednio dekodował i ustawiał według tego napiecie czy prąd ew. wysyłał aktualne wartości na komputer. tyle że nie do końca rozumiem sposob obsługi...

    Mikrokontrolery AVR   02 Maj 2004 08:27 Odpowiedzi: 6    Wyświetleń: 2828
  • komunikacja mikrokontroler + bluetooth z komputerem

    Faktycznie, zaszła pomyłka we wzorze ale już poprawiłem no i obliczyłem wartość też ręcznie żeby się upewnić i zgadza się z tą wartością z tabeli. Ale niestety nadal coś jest źle bo nie działa.. http://obrazki.elektroda.pl/4108967200_1... zmienilem boud na 9600 i ustawielm port COM8. Lewy dolny rog w terminalu wskazuje ze parametry transmisji...

    Mikrokontrolery Początkujący   28 Gru 2018 04:06 Odpowiedzi: 13    Wyświetleń: 1620
  • AVR GCC (WinAVR) – jak skonfigurować printf() do wysyłania tekstu przez UART?

    Witam !! Po pierwsze to widać, że nadal nie chciało Ci się zajrzeć do dokumentacji kompilatora. Nie znam tego dziwactwa, którego używasz więc może mi je przyślij. Po drugie to nie widze w Twoim programie abyś inicjował uart'a, nie ustawiasz transmisji ani nawet prędkości. Minimalna formuła na np: ATMega 128 wygląda tak: UCSR0A=0x00;//zeruje rejestry...

    Mikrokontrolery   28 Gru 2004 16:12 Odpowiedzi: 15    Wyświetleń: 2764
  • USART Atmega8l 1MHz - brak komunikacji RS232 z modułem Bluetooth

    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" // Załaduj bilbiotekę zew. (do ustawienia portów ATMega 8) #include "uart.h"...

    Mikrokontrolery AVR   23 Maj 2016 21:38 Odpowiedzi: 24    Wyświetleń: 1260
  • ATtiny2313 USART 9600 bps - brak transmisji na wewnętrznym oscylatorze 8 MHz

    Witam wszystkich Elektrodowiczów! Mam mikrokontroler ATtin2313, który pracuje na wewnętrznym oscylatorze 8 MHz (bez dzielnika CLK=8) . Chcę na nim zrobić transmisję szeregową po USARTcie w trybie normalnym asynchronicznym (U2X = 0) , z 1 bitem stopu i 8 bitami danych. Wcześniej robiłem transmisję na USARTcie, ale na ATmega8 i działało - tu nie chce....

    Mikrokontrolery AVR   05 Gru 2011 09:18 Odpowiedzi: 15    Wyświetleń: 2551
  • Dlaczego w symulacji BASCOM dla ATMega88 widzę mniej rejestrów I/O?

    U mnie też pojawia się czasami efekt "pamięci" który opisałeś powyżej. Kiedyś AVRStudio działało dużo stabilnieji i nie wywalało mi się kilka razy dziennie... chyba to wina windowsa i autoupdate, a może Jtaga... w każdym razie staraj się unikać używania symboli funkcji arytmetycznych czy logicznych. Zastąp OR wyrażeniem ORR albo _OR czy też OR_ i po...

    Mikrokontrolery   25 Wrz 2007 12:45 Odpowiedzi: 33    Wyświetleń: 4346
  • [C] AVR-gcc: Instrukcje po pętli nie działają - analiza FFT i USART

    Witam ! Mam taki programik napisany w Avr-gcc. #include <avr/io.h> #include <inttypes.h> //alternatywne typy zmiennych #include <avr/pgmspace.h>//adresowanie zmiennych w obszarze programu #include <avr/interrupt.h>//obsługa przerwań #include <util/delay.h> #include "ffft.h" //funkcje Fouriera #include "usart.c"...

    Mikrokontrolery AVR   07 Kwi 2010 21:57 Odpowiedzi: 8    Wyświetleń: 1527
  • Atmega32 - Komunikacja PC (USART) Atmega32 (SPI) ADE7758, #c

    Mam trudność gry próbuje zaktualizować stany bitów w poszczególnych rejestrach. W ten sposób że pierwsze wysyłam przez spi do układu ade7758, 8-bitowa wartość rejestru, a następny bajt, to aktualizacja poszczególnych bitów. W programie powinno mi zwrócić wartość taką jaki dany rejestr miał zaktualizowane a dostaję inne wartości niż powinienem. niżej...

    Mikrokontrolery AVR   03 Wrz 2015 16:15 Odpowiedzi: 5    Wyświetleń: 1518
  • Jak zmodyfikować kod na Atmega 16, by klawisze 'a' i 'b' sterowały diodą?

    Prosze o pomoc Jak zmienić ten kod programu by po naciśnięciu konkretnego klawisza klawiatury np. klawisz 'a' ma zaświecić diodę, klawisz 'b' ma zgasić diode. Po naciśnięciu innych klawiszy dioda ma niereagować #include <avr/io.h> // dostęp do rejestrów // Zmieniając poniższe definicje można dostosować program do potrzeb #define F_CPU 16000000ul...

    Mikrokontrolery AVR   20 Sty 2010 20:46 Odpowiedzi: 1    Wyświetleń: 972
  • [ATMega128] [ATMega128][C] Nieprawidłowe znaki w Terminalu przy USART1 z PC

    Ponieważ jest to mój pierwszy post chciałbym wszystkich serdecznie powitać :). Mój problem polega na tym, że nie mogę ustawić połączenia uC <-> PC z Atmegą 128. Przy AT16 wszystko jest w porządku, a ze 128 wyświetla mi nieprawidłowe znaki w Terminalu. Przy transmisji dioda się świeci i i wszystko poza tym działa jak powinno. #include <avr/io.h>...

    Mikrokontrolery AVR   07 Lip 2009 22:27 Odpowiedzi: 18    Wyświetleń: 2234
  • Atmega8 USART – pojawiają się krzaki podczas transmisji 19200/8/N/1 przez USB/RS232

    Problem podobny, więc zapytam w tym temacie. Poniżej znajduje się kod programu do wysyłania danych przez USART do PC (przejściówka USB na układzie FT232RL). Wysyłanie jednego znaku z wykorzystaniem funkcji USART_TransmitChar działa tak jak powinno, problem pojawia się z funkcją USART_TransmitString. #include <avr/io.h> #include <util/delay.h>...

    Mikrokontrolery   17 Gru 2010 19:13 Odpowiedzi: 12    Wyświetleń: 3243
  • [C]Modyfikacja programu, obsługa przycisków, miganie LED-ów.

    jestem amatorem(poczatkujacym), prosze o wyrozumialosc musze zmodyfikowac program aby uzyskac -obsługę przycisków w ten sposób, aby w oknie terminala ukazywał się komunikat z numerem wciśniętego przycisku -efekty świetlne polegające na sekwencjach migania diod LED (disco ;-)), przy czym wybór sekwencji odbywałby się poprzez wysłanie z terminala numeru...

    Mikrokontrolery AVR   26 Lis 2008 19:18 Odpowiedzi: 6    Wyświetleń: 2388
  • Jak odczytać ROM CODE czujnika DS18B20 za pomocą AVR i C?

    Witam mam taki programik do odczytu ROM CODE czyjnika ds18b20: [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include "ds18b20.h" /* Prędkość transmisji 2400 */ #define BAUD 2400 #define MYUBRR F_CPU/BAUD/16-1 /* Inicjuje port szeregowy AVRa */ void USART_init(unsigned int myubrr) { /* Ustala prędkość transmisji...

    Mikrokontrolery AVR   27 Maj 2011 11:24 Odpowiedzi: 2    Wyświetleń: 1839
  • Atmega32 USART - Jak wysłać 9 bitów danych?

    Nie jest mozliwe wysylanie 2 bitow stopu i 9 bitow danych. Ustaw standardowo 8 bitow danych i 1 bit stopu. To w zasadzie nie robi różnicy , czy ustawimy 1 czy 2 bity stopu , bo przy ramce 9-bit , zostanie wygenerowany tylko 1 bit stopu. grzesio14 Nie działa Ci transmisja 9-bit , bo takowej nie ustawiasz. Popatrz: ;*** USART tryb 9-bit *** .include...

    Mikrokontrolery   16 Maj 2007 13:18 Odpowiedzi: 5    Wyświetleń: 1508
  • ATmega32 - Program nie wchodzi w obsługę przerwania TIMER0_COMP_vect

    Proszę bardzo: [syntax=c] void USART_Init(void) { UCSRC = (1<<URSEL)|(1<<UPM1)|(1<&... // URSEL = 1 - korzystanie z rejestru UCSRC // UPM1 = 1 even parity // UCSZ1 = 1 i UCSZ0 = 0 8 bitowa transmisja UBRRL = 103; // 9600b/s przy F_CPU 16Mhz UCSRB = (1<<RXEN)|(1<<TXEN)|(1<&l... } void nadaj(char...

    Mikrokontrolery AVR   30 Gru 2012 14:29 Odpowiedzi: 17    Wyświetleń: 2439
  • [ATmega2561][AVR Studio] Nie wykrywa sygnatury przez usart0?

    Witam. Mam problem z połączeniem się z ATmegą 2561. Wcześniej wszystko chodziło dobrze do czasu aż wgrałem poprzez avr studio program do obsługi USART0. Użyłem do tego programatora USBisp z wgranym STK500v2. Nie ustawiałem żadnych Fusebitów (domyślne AVR Studio). Teraz nie mogę się połączyć z nim w żaden sposób. Próbowałem również przez ISPProg i STK200....

    Mikrokontrolery AVR   13 Paź 2008 11:05 Odpowiedzi: 4    Wyświetleń: 2347
  • [Atmega32][c] RS232/485 przerwania generowane przez TXCIE

    Pod koniec procedury obsługi przerwania SIG_UART_DATA po opróżnieniu bufora nadawczego chciałbym wywołać przerwanie SIG_UART_TRANS aby zmienić stan sygnału DE dla układu MAX485. W/g datasheet'u wystarczy ustawić bit TXCIE dla rejestru UCSRB aby spowodować wywołanie tego przerwania. Writing this bit to one enables interrupt on the TXC Flag. A USART Transmit...

    Mikrokontrolery AVR   19 Sty 2012 10:28 Odpowiedzi: 4    Wyświetleń: 1505
  • atmega8 - UART przerwania - dioda nie gaśnie po odebraniu danych UART

    Witam ! Dalej walczę z komunikacją uart i dokładam kolejne klocki. Obecnie chciałem nauczyć się korzystać z przerwań. Napisałem następujący program. Do atmegi mówię przez program minicom. Chciałem, żeby przy każdym odebraniu czegoś po uart zapalił diodę, poczekał i ją zgasił. Niestety dioda się tylko zapala i nigdy nie gaśnie ... nie wiem dlaczego -...

    Mikrokontrolery AVR   21 Lip 2015 21:56 Odpowiedzi: 9    Wyświetleń: 1647
  • USART Atmega8 i C: Problem z komunikacją w AVR Studio, kod się blokuje

    przepraszam //Najpierw musisz ustawić odpowiednie parametry //np tak Kod: //unsigned char odebrane; //zmienna globalna - definujemy ja przed wszyskimi funkcjami unsigned - oznacza ze przyjmuje warotsc od 0 do 255 unsigned char zmienna; #include <avr\sfr_defs.h> //pozwala sterowac bitami code::blocks #include <avr\io.h> //wejscia_wyjscia...

    Mikrokontrolery   06 Gru 2009 23:25 Odpowiedzi: 10    Wyświetleń: 8233
  • [Attiny2313][AVRStudio] Komunikacja USI/SPI + żyroskop ADIS16100

    Dzięki za odpowiedź. Znalazłem ciekawy poradnik odnośnie konfiguracji SPI na Attiny. W nocie katalogowej podpisy "MISO" i "MOSI" dotyczą ISP, a nie SPI. Bazując na poradniku i poradach paw789 obecnie mam taki kod: [syntax=c]#define FOSC 16000000 // Clock Speed #define BAUD 9600 // ustawienie predkosci wysylania bitow #define MYUBRR FOSC/16/BAUD-1 #define...

    Mikrokontrolery AVR   16 Lut 2012 00:08 Odpowiedzi: 15    Wyświetleń: 4202
  • FT232RL - problem z transmisją UART-USB z ATmega8A, wysyłanie danych przerywane

    Proponuję uprościć kod do minimum, i skupić się na zegarze. Można albo użyć zewn. sygnału, ale wymaga to tyle samo pracy co przylutowanie kwarcu na pająka, a jest o tyle ryzykowne, że jak nie coś nie zadziała, to nie przeprogramujesz już układu. Z jakiego napięcia zasilasz układ? Wewn. oscylator jest kalibrowany pod 5V, jeżeli masz mniej, to zamiast...

    Mikrokontrolery   15 Gru 2015 19:46 Odpowiedzi: 16    Wyświetleń: 1317
  • [ATmega32] [ATmega32][GCC] USART - Dlaczego diody gasną przy odbiorze danych?

    Witam, może mi ktoś powiedzieć co w tym kodzie jest nie tak? Kod jest prosty-uczę się USART. Pierwszy znak jaki przyjdzie na RS232 wyświetla się na diodach. (Jedynie, że to jest 0B10000000 to jeszcze kolejny). Tylko, że zawsze mi diody gasną(0xFF). Z komputera nadaje za pomocą programu #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h>...

    Mikrokontrolery AVR   30 Maj 2010 11:35 Odpowiedzi: 4    Wyświetleń: 2511
  • [ATmega8] ATmega8 RS-232: brak odbioru danych w HyperTerminal przy baud rate 2400

    Witam, czy moglby ktos sprawdzic mi czy taki program powinien zadziałac i co robie zle ze nie działa #include <avr/io.h> #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #define FOSC 8000000ul // // Clock Speed #define BAUD...

    Mikrokontrolery AVR   07 Paź 2009 21:49 Odpowiedzi: 19    Wyświetleń: 3642
  • [AVR-GCC] Jak poprawnie obsłużyć USART w programie na mikrokontrolerze?

    W zasadzie po komendzie tryb, procek znajduje sie w petli oczekiwania na znak w buforze odbiorczym. Wowczas ma prawo nie reagowac na przyciski. Po odbiorze znaku powinien wrocic do petli glownej po konwersji itoa. W twojej procedurze Usart_Recive pozbylbym sie itoa i wrzucil ja do glownej petli za Usart_Recive lub tez zdeklarowal w Usart_Recive dodatkowa...

    Mikrokontrolery   01 Lut 2006 18:28 Odpowiedzi: 9    Wyświetleń: 1700
  • ATmega32 - Hyperterminal: brak reakcji na dane ASCII 0x31 i 0x32

    Witam, chciałbym prosić o pomoc w rozwiązaniu problemu. Korzystając z programu HyperTerminal wysyłam do uC cyfry 1 i 2, które mają odpowiednio kody ASCII 0x31 i 0x32. Odebranie "jedynki" powinno zapalić diodę podłączoną do portu PB.0 a odebranie "dwójki" powinno zapalić diodę podłączoną do portu PB.1. Z uwagi na to że żadna z diód nie zapalała się dodałem...

    Mikrokontrolery AVR   19 Lis 2012 21:26 Odpowiedzi: 11    Wyświetleń: 1566
  • Błąd Timeout przy transmisji RS-232 z mikrokontrolerem i PC

    Program był pisany w C++ Buliderze ja posiadam inny program który wyrzuca błędy z braku bibliotek...A program dostałem już skompilowany... A może zamiast zmieniać parametry w programie zmienie w mikrokontrolerze??Poniżej znajduje sie cały wsad do mikrokontrolera ale akurat Assembera nie rozumiem całkowicie co i gdzie należy wpisać aby zimienić transmisje...

    Mikrokontrolery   15 Sty 2007 13:18 Odpowiedzi: 33    Wyświetleń: 3341
  • ATtiny2313, USART nie odbiera danych, konfiguracja i przerwania RXINT

    Witam pin RxD powienien być ustawiony jako wejscie w rejestrze DDRD.0=0 ustawiony jako wejscie i PORTD.0 =1 podciagamy do gory inicjacja powinna być tak jesli coś u Ciebie jest inaczej sprawdz takie ustawienia void port_init(void) { PORTD = 0x03; DDRD = 0x02; } //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9615 (0,2%) void uart0_init(void)...

    Mikrokontrolery   10 Lut 2006 21:42 Odpowiedzi: 4    Wyświetleń: 1836
  • 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ń: 1773
  • EvB 4.3 / ATmega32 - Zawieszanie się programu przy komunikacji z PC

    Witam, mam problem związany z komunikacją PC z uC a tak naprawdę wydawaniem poleceń(sterowaniem) uC spod PC. Poniżej zamieszczam kod, który działa pod uC. Niestety gdy wyślę z aplikacji w C# wartość 128 następuje wejście do case 128 wysłanie wartości PIND0 lecz po przejściu całej pętli while program zatrzymuje się (czeka) na warunku bit=odbierz(); Jak...

    Mikrokontrolery AVR   29 Lis 2012 00:21 Odpowiedzi: 4    Wyświetleń: 1158