Podobne tematy: http://www.elektroda.pl/rtvforum/topic18... http://www.elektroda.pl/rtvforum/topic15...
Witam, Jak byś zobaczył do HELPa Bascoma to byś dużo się dowiedział :) $regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 'set the baud rate for the first hardware UART. $baud1 = 9600 'set the baud rate for the second hardware UART. 'when CONFIG COMx is not used, the default N,8,1 will be used Config Pinb.7 = Output Config Com1 = Dummy...
Jest to zdefiniowane w io.h, tyle, ze ma inne nazwy rejestrow - zobacz plik iom128.h. Nazwy podane w DS nie zawsze pokrywaja sie z tymi z AVR-libc. ATMega128 ma 2 USARTy, wiec np. UCSRA dla USART0nazywa sie UCSR0A, a dla USART1 UCSR1A.
1. Jakie prędkości masz po obu stronach? 2. Nie możesz tego zrobić sprzętowo? 3. Programowo robisz odbiór i nadawanie na przerwaniach i przepisujesz z jednego bufora dane do drugiego... 4. Jakie funkcje ma pełnić Atmega? Czy ma to być tylko monitor połączenia czy co?
Witam drogich kolegów mam taki straszny problem z ATMega128 + Usart1 działa mi wysyłanie natomiast odbiór na przerywaniach jest głuchy ;/ mam ExtFusy 0xff czyli zgodność 103 wyłączona. Jest to troszkę okrojony kod by was nie męczyć zbytnio.. void InitUsart1(void) { UCSR1A = (1<<U2X1); UCSR1B = (1<<RXEN1)|(1<RXCIE...
void SERIAL_Init() { UCSR0A=0x02; UCSR0B=0xD8; UCSR0C=0x06; UBRR0H = (_BYTE)(DEBUG_BAUD_RATE >> 8); UBRR0L = (_BYTE)(DEBUG_BAUD_RATE)... } Inicjalizacja UART0, z 1 jest tak samo. Odczyt while (UCSR0A & 0x80) buff[i++] = UDR0; return i; Wyslanie UDR0 = data; while( (UCSR0A...
Skonfigurowałeś USART0 a wpiąłeś się w USART1 skoro masz PD3
jasne , który? ten wyżej?
Faktycznie średnik gdzieś mi zaginął przy wklejaniu kodu do postu. Rolę bitu UDRE1 dokładnie znam, problem polegał na tym, że ten bit nie był ustawiany (informowała mnie o tym dioda -wykorzystanie instrukcji if do jej zapalenia). Ku memu zdziwieniu po różnych zabiegach takich jak czyszczenie pamięci uC czy resecie komputera nagle bit UDRE1 zaczął prawidłowo...
W ATMega128 są dwa USARTy jeśli w programie próbujesz wykorzystać USART1, a chodzisz na domyślnych ustawieniach procka (fusy) to mikrokontroler chodzi ci w trybie kompatybilności z ATMega103 i USARTa1 na tych pinach nie ma. Trzeba albo ustawić odpowiednio fusy, albo skorzystać z USART0.
witam Zaczynam z atmega128 i na wstępie mam problem z uart avrstudio i asembler problem mam mianowicie z dostępem a raczej z wpisem do rejestrów UBRRH UCSRC z tego do czego doszedłem po paru godzinach to to ze avrstudio pokazuje mi te rejestry jako NA . Dodam ze fusebit jest wyłaczony M103 może ktoś mógł by mi to jakoś objaśnić bo nie czaje jak się...
GienekS: ...gdzie mam podac tego USARTA..ogladam ten kod i nie moge znalezc...reszte juz dostosowalem... USART0 to: PE0 (RxD) i PE1 (TxD) USART1 to: PD2 (RxD) i PD3 (TxD)
Nie, nie mam. Dodano po 22 W kodzie na temat USART'a, trochę namieszałeś. ATmega128 ma 2 USART'y. W jednym miejscu konfigurujesz USART1 a w innym używasz USART0. Polecam datasheet'a do ATmegi128, są tam też przykładowe kody dot. USART'a.
#include <avr/interrupt.h> #include <inttypes.h> #include <stdlib.h> #include <math.h> #include <avr/io.h> #define F_CPU 7372800 //20000000 //18432000 //11059200 //3686400 //18432000 //14745600 #define CYCLES_PER_US (F_CPU/1000000) /****** Funkcje delay ****************************************... void delay(unsigned...
Witam! Borykam się z następującym problemem. Przez USART1 pobieram dane z GPS i chce je przesłać dalej za pomocą USART0 (tymczasowo). Problem w tym, iż nie zawsze działa pobieranie odpowiedniej ramki ($GPRMC) Zrzut ekranu i kod programu poniżej.. proszę o jakieś wskazówki. Przerwania dla USART wydaje mi sie że działają poprawnie, dlatego nie załączam...
Moduł Pro-Atmega128 który chce zakupić posiada dwa programowalne porty szeregowe typu USART, full duplex:USART0 i USART1.Dąłaczam do tego schemat.Na schemacie widać że transmisja moze być zarówno przez linie RXD oraz TXD. Zadanie programu. Zadniem programu ma być sterowanie 3 silnikami.Sterowanie mogłoby sie odbywać poprzez naciśnięcie klawiszy kierukowych...
Witam, Mam problem z uruchomieniem UARTU na ATmega128. Jako kompilatora używam CodeVisionAVR. Program się kompiluje lecz nic nie mogę wysłać z procka do kompa, co może być źle w kodzie: #include <mega128.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE)...
no tak. Zdecydowanie powinno. Jeśli używasz USART0 zewrzyj ze sobą na procesorze piny 2 i 3 (PE0 i PE1) a jeśli USART1 zewrzyj piny 27 i 28 (PD2 i PD3). Jeśli będziesz coś wysyłał wtedy przez terminal z klawiatury to ten znak zwyczajnie z linii RXD przejdzie na TXD i powinien pojawić się w oknie terminala. Jeśli tak się nie stanie to znaczy, że coś...
Cosicek: Datasheet M128, str. 171 Note that in ATmega103 compatibility mode, USART1 is not available, neither is the UBRR0H or UCRS0C Registers. This means that in ATmega103 compatibility mode, the ATmega128 supports asynchronous operation of USART0 only. oraz tabelka na str. 174: http://obrazki.elektroda.pl/9607554400_1... Wobec powyższego...
Jesli nic nie zmieniales z lewej strony powinienes miec panel Workspace. Na dole tego panelu sa zakladki Project|I/O|Info. Kliknij zakladke I/O. Ukaze sie drzewko z zasobami procesora. M.in. jest tam galaz I/O. Po rozwinieciu powinien tez byc USART. W Atmedze 128 pewnie beda dwie takie galezie USART0 i USART1. Po rozwinieciu ukaza Ci sie wszystkie rejestry...
#include <mega128.h> #define RXB8 1 #define TXB8 0 #define UPE 2 #define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7 #define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<OVR) #define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)...
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 wysyła poprawnie komendy (dzielnik został usunięty), jednak...
Witam! Mam problem z popranym odbiorem danych. Kod wygenerowany przez kreatora jest przedstawiony na listingu. I teraz pytanie. Mam odebrać z odbiornika widomość o długości 154 bajtów. Wiadomość ta przychodzi co 1 sekundę i zaczyna się zawsze czterama takimi samymi znakami : (at)(at)Ha Próbowałem już robić to z pętlą, by odbierać 154 znaki, i potem...
http://obrazki.elektroda.pl/6286418300_1... Zmieniłem na 8MHz, przebudowałem, wgrałem flash z fuse. UBBR odczytany z tabeli noty. Dalej nic, dioda TXD na płytce miga tylko gdy wciskam znak z klawiatury. W ogóle brak wejścia w przerwanie ( próbowałem leda zapalić). Dodano po 11 http://obrazki.elektroda.pl/5106256200_1...
Witam, Mam ten sam problem co kolega Beer Bear. Na zdjeciu otrzymuje to samo zaklocenie. Uzywam 2 pamieci rownoleglych po 64kB + zatrzask 573 . Caloscia steruje ATMEGA 64 16MHz. Wyeliminowalem częśc sprzętową, ponieważ sprawdziłem wszystkie połączenia na płytce kilka razy i nie znalazłem żadnego blędu. Wiec pomyślalem sobie ze wina moze tkwic w kodzie...
Witam, prosze o sprawdzenie mojego programu bo moim zdaniem jest OK a wciąż nie chce zadziałać. Używając hyper terminal-a wysyłam znak poprzez RS232 do układu na USART0, chcę żeby po odebraniu znaku zapaliła się dioda podłączona do portu E. Hyper terminal mam skonfigurowany następująco: 4800b/s, 8bitow danych, bit parzystosci, 2 bity stopu, kontrola...
Witam, Jak w temacie, gdy włączę UART0 przez początkowy czas startu procesora wszystko działa poprawnie, po pewnym czasie który jest różny 30 - 60 sekund przestaje działać UART1. Dodam, że testowałem to przy wszystkich funkcjach wyłączonych, wstawiłem tylko w przerwanie UART1 i UART0 miganie diody gdy przychodzą dane. void uart_0(void){...
Wkleje plik includowany z obsługa LCD, który stosuje oraz czesc programu głownego: LCS.asm: ;=======================================... ; Obsluga LCD zgodnego z HD44780 dla 8-bitowej szyny danych v1.0 ; Nie obsluguje BUSY flag ani odczytu adresu z LCD ;!!! Znak lub komenda do wyslania do LCD przekazywane sa przez...
while (1) { PORTE ^= _BV(0); PORTE ^= _BV(1); PORTA=0xFF; PORTC=0xFF; LED5_TOGGLE; //TS("start"); _delay_ms(300); PORTA=0x00; PORTC=0x00; _delay_ms(300); } właśnie zaskoczyło przy wewnętrznym taktowaniu 1M. diodki migają ale bardzo wolno, zmieniają stan raz na dwie sekundy. piegzik - pomogłeś chociaż mój problem nadal nie jest rozwiązany... Dodano po...
To, że można użyć innych termometrów (z pomiarem ciągłym) napisałem. To, że DS2482 jest wolniejszy od DS2480 udowodniłem. To, ze kolega nie używał w/w układów można wywnioskować. Reasumując: Przy pomiarze temperatury, DS2480 (115200) będzie szybszy od DS2480 (400kHz), może o 0,2% ale szybszy. To jest fakt. Jeśli jest inaczej proszę to udowodnić . Tak...
Mam problem z wysyłaniem sms, wykorzystuję atmege128 i moduł sim900 na płytce Evb v1.01_pcb , proszę o rzucenie okiem na kod gsm.c [syntax=c]// PLIK: gsm.c // Dołączone biblioteki #include <avr/io.h> // Biblioteka obsługująca peryferia mikrokontrolera #include <avr/interrupt.h>// Biblioteka obsługująca przerwania mikrokontrolera #include...
http://obrazki.elektroda.pl/1867250000_1... http://obrazki.elektroda.pl/2659176800_1... Goldilocks Analogue to moduł, który łączy cechy klasycznej płytki Arduino z zaawansowanymi funkcjami analogowymi oraz obsługą audio. Płytka działa w oparciu o mikrokontroler ATmega1284p znacznie przewyższający możliwości MCU obecnego...
Mam prośbę, prosze o podpowiedź w nastepującej kwesti: Mam jakis program główny oraz pisze teraz booloadera w jednym projekcie (kompilowane jednoczesnie). Bootloader tylko na potrzeby tego jednego programu. W jakims osobnym pliku np. Boot.c pisze funkcje np void firmware (void) BOOTLOADER_SECTION; a jak w tym projekcie dopisac teraz przerwanie od UART1...
Co do USB - niestety ATMega128A1 nie ma sprzętowego USB Doczytałem o tym, ale myślałem, że da się jakoś użyć tego drugiego procka do komunikacji przez USB w sensie używać już podpiętego portu USB jako przejściówki USART - USB. No ale jak się nie a to itak sobie poradzę z tymi dwoma wyprowadzonymi USARTami. Da się jakoś rozsądnie ustawiać piny w Xmega...
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 <stdlib.h> #include <stdio.h> #include <avr/interrupt.h>...
Problem już prawie rozwiązany, gdyż moja lista z projektami świeciła się jak choinka za sprawą tych samych, złych bibliotek. Poprawiłem już prawie wszystko, ale chce się upewnić co do jednego. Czy w kodzie który zamieszczam wystarczy usunąć "||" czy coś tam powinno być? W pliku źródłowym na jakiejś stronie internetowej też tego nie ma, więc nie usunąłem...
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:...
Szukałem na internecie poradników do terminala UART i udało mi się zrobić coś takiego z kawałków znalezionych w sieci. Problem polega na tym, że mój kompilator wyrzuca błędy a nie pokazuje mi gdzie one są (i tym samym nie mogę ich skompilować) i jeśli ktoś może sprawdzić poprawność kodu w 1. i 2. main.c(są to dwa odzielne programy w dwóch projektach...
Witam, mam następujący problem - staram się dołączyć do Atmegi 64k pamięci sRAM, konkretnie 2x 61256-15. Póki co procek taktowany wewn. rezonatorem 8MHz, docelowo ma być kwarc 16MHz (jeszcze go po prostu nie wlutowałem). Wyłączona zgodność z Mega103, JTAG też. Schemat tutaj: http://obrazki.elektroda.pl/8691151200_1... Przy czym bufor...
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 oraz sterowanie elektrozaworami a drugi obsługa wyświetlacza graficznego...
stm32 usart1 stm32f103 usart1 stm32f4 usart1
intel celeron t3500 głowica tosca m2022w samsung
udostępnianie plików wybór lodówki
Gdzie kupić pokrętło do sterownika BUDERUS CM221? Krótkie szczotki a spadek mocy rozrusznika elektrycznego