MC14053 to zwykły scalak 4053, a MC1 to oznaczenie producenta, trochę dziwne i mylące. Z jakiegoś powodu ATmegę128 nie programuje się tak jak wszystkie inne, podpinając programator pod MISO i MOSI, tylko są tutaj zarezerwowane dwa piny PDI i PDO, które normalnie wykorzystuje UART0.
Napisalem prosty program aby wyslac na hyperterminal znak 'a'. Niestety na terminalu nic sie nie pojawia. To sa porty do ktorego jest podpiety programator. Odlaczalem go rowniez. Korzystam z przejsciowki na usb ft232rl. Ponizej podaje kod zrodlowy i schemat podlaczenia. Prędkosc transmisji ustawiam na 4800b/s a uC chodzi na zewn. kwarcu 16Mhz. #include...
Witam, Mam następujący problem. Zakupiłem robota z zamontowaną płytką: GPS to FGPMMOPA4, konfiguracja: 9600 bps/8/N/1 Po drobnych modyfikacjach zamontowany jest tam kwarc 7,3728 Mhz. Procesor to Atmega128L (początkowo był Atmega128A z kwarcem 16Mhz). Podłączyłem do RX0 wyjście TX GPS FGPMMOPA4. Jako że GPS zasilany jest 3,3V a Atmega 5v to napięcie...
Witam, programuje mikrokontroler ATmega128L i potrzebuje wysłać stringa funkcją printf.Niestety z tego co wyczytałem w pomocy biblioteka standardowa stdio.h obsługuje tylko UART0. W zwiazku z tym mam pytanie jak prosto można zrobić tak by przez oba UARTy można było zastosować funkcję printf. Z góry dziękuję za odpowiedź Pozdrawiam
Witam, Mam następujący problem. Buduje sobie lokalizator. Przez USART0 komunikuję się z GPSem (GPS wysyła dane co 1s) i tu komunikacja przebiega jak należy. Natomiast przez USART1 komunikuję się z GSMem. W tym przypadku wysyłanie działa poprawnie, natomiast odebrane dane zawierają tylko dwa pierwsze i dwa ostatnie znaki. Sprawdzałam procka RealTermem...
No właśnie wiem o tym. Zdecydowałem się na uart0. Czyli błąd tkwi w ustawieniach rejestru, a nie w samym kodzie? Nie jestem jeszcze dobrze obeznany w C i wiele rzeczy nie rozumiem, składnia, itp. Usunąłem wiele błędów, ale do końca nie udało mi się dobrnąć. Przeanalizuje jeszcze raz kod. Jestem na kontrakcie i nie mam neta, co mnie bardzo dziwi, i dlatego...
Zrobiłem bufor, a raczej zdarłem gotowca z książki Pana Mirka, żeby w tym już nie błądzić. main.c main.c enc.c EFEKT : * Łącze terminal z ATMega32, wysyłam znak zapytania '?' , dostaję odpowiedź np. ':' '/' '/' '#' . Czyli tu musi być dobrze ( proszę nie wnikać w automat liczący impulsy - działa poprawnie). * Łącze terminal z UART0 ATMega128, resetuje...
Witam od dwóch dni walczę z połączeniem karty SD z Atmega128. mam taki oto testowy kod: main.c [syntax=C] int main(void) { USART0_Init(); TCCR1B |= (1<<WGM12); // tryb CTC TCCR1B |= (1<<CS11)|(1<<CS10); // 8Mhz / 64 /1250 = przerwanie co 10ms OCR1A = 1250; TIMSK |= (1 << OCIE1A); // Zezwolenie na przerwanie CompareMatch od rejestru...
$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 ,Synchrone = 0 ,Parity = None ,Stopbits = 1 ,Databits = 8 ,Clockpol...
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...
dzieki Marico za odpowiedzi. Niby wszystko ok, ale jak już próbuję wysłać SMS to dostaje: AT+CMGS="+48xxxxxxxx" SMS: NOOT > AT+CMGS="+48xxxxxxxx" SMS:SMS +CMGS: 84 OK AT+CMGS="+48xxxxxxxx" SMS: NOOT > AT+CMGS="+48xxxxxxxx" SMS:SMS +CMGS: 85 OK przy kodzie: [syntax=c] void sendSMS(void)...
Dzień Dobry. Potrzebuję w Arduino połączyć się z ATmega128 (wersja 5V obudowa TQFP64), ze względu na ilość wejść/wyjść binarnych, z których będę korzystał. Znalazłem pakiet MegaCore, który dołączyłem do Arduino. W opisie jest jak wykonać minimalne połączenia aby nawiązać połączenie. Wykonałem te połączenia na płytce ewaluacyjnej AVT5531. masa GND pin-y...
Witam. Mam za zadanie zaprogramować kontroler Atmega128 razem z zestawem EVBnet02. Dokładniej to będzie obsługiwał antenę do kart rfid po porcie rs. #define F_CPU 16000000L #define BAUD 9600 #define MYUBRR F_CPU/BAUD/16-1 #include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <avr/interrupt.h> #include <avr/signal.h>...
Kiedyś wysłałem Ci coś takiego: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> //CRC #include <inttypes.h> #define CRC8INIT0x00 #define CRC8POLY0x18 //0X18 = X^8+X^5+X^4+X^0 uint8_tcrc8 (uint8_t* data_in, uint16_t number_of_bytes_to_read); //UART #include "uart.h" //uncoment if you like use...
Witam Znalazłem na sieci bibliotekę do transmisji szeregowej na AVR. Jako, że potrzebuję używać 2 portów szeregowych w układzie przerobiłem bibliotekę na 2 USARTY, czyli wszystkie funkcje i zmienne przerobiłem dodając w nazwie uart1. Wszystko działa dobrze oprócz odbioru danych przez drugi uart. Jeśli wysyłam dane z obu uartów do komputera, wszystko...
Podłącz sie do UART1 i zastosuj funkcje: putchar1(char c) do wysyłania znaków, lub jeśli masz wszystko podłączone do UART0 dopisz w kodzie: #pragma used+ void putchar(char c) { while ((UCSR0A & DATA_REGISTER_EMPTY)==0); UDR0=c; } #pragma used-
no tak włączenie bufora serialin musi być dla tego portu na którym działa u cienie instrukcja INPUT i tak chyba jest bo przecież napisałeś serialin1 a dla pierwszego portu czyli UART0 byłoby samo serialin ale rozumiem, że tak jak teraz pokazałeś kod to nadal tylko po resecie leci cały wyraz ALA a potem tylko AL tak? i tak jeszcze przy okazji jesteś...
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...
zrobiłem sobie troszeczkę ładniejszą obsługę całego programu. Niestety, pierwszy raz działa: $GPGGA201529.000||5210.2440N||02100.3153... SMS$GPGSA i tutaj stoi... kod main: rozwiązanie dla potomnych :) w przerwaniu ISR dodałem warunek sprawdzajacy czy GPS_Block jest 0, jeśli jest zaipsuje dane do bufora cyklicznego normalnie,...
Witam. Próbuje napisać kod , ktory bedzie za pomocą przycisku na PC4 na przemian włączał i wyłączał diodę , a także nadawał stringi na uart0 , lub uart1. Wyłączyłem kompatybilność Atmega103 a także JTAg-a. Fusebity ustawione - CKSEL Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms , cos mi nadaje, ale krzaki i znaki zapytania. poniżej kod: #include <avr/io.h>...
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){...
zmieniłem płytkę w arduino ide, wszystkie ustawienia o których pisałeś zrobiłem i przy probie kompilacji dostaje to: Arduino:1.8.7 (Windows 10), Płytka:"ATmega1284, Yes (UART0), Sanguino pinout, 1284P, BOD 2.7V, LTO enabled, External 16 MHz" In file included from C:\Users\Fujitsu\AppData\Local\Ardui...
Mam dziwny problem. Atmega128 pracuje wykorzystując dwa uarty. Obydwa podpięte pod terminal. UART0 tylko i wyłącznie ustawia flagi po interpretacji treści. To przerwanie zawiesza się po uruchomieniu funkcji z przerwania UART1 . Wywoływana funkcja do poprawnego wykonania się potrzebuje stanu flag z UART0. Niestety UART0 zachowuje się tak jakby go nie...
Co prawda nie zliczam czasu tylko cykle zegara ale można z tego bez problemu wyliczyć czas. Umieszczam ten kod dla innych którzy będą czegoś takiego potrzebowali. Efekt końcowy tematu. [syntax=c] // Atmega1284P #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "uart0.h" volatile...
Nie zupełnie. Podstawowym portem jest UART0. UART1 jest dodatkowym portem. Jeśli użyjesz UART1, to tracisz możliwość dwóch przerwań (INT2 i INT3). Poza tym nie rozumie stwierdzenia ... podpiąć do atmegi128, tylko że ta nowa ma dwie pary TXD i RXD ... a co stara ATMega128 nie miała dwóch UART ? ATMega64 również ma dwa porty UART.
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...
Witam mam problem - przeczytałem cały ten temat od deski do deski i dalej nie działa mi transmisja na RF12B - kombinuje juz od kilku dni. Mam prośbę czy ktoś mógłby sprawdzić kod który stworzyłem (na podstawie kodu z ). Załączam fragmenty schematów układu nadajnika jak i odbiornika. Odbiornik (ATmega128): Nadajnik (ATtiny2313): KOD NARAJNIKA: "main.c"...
Nie ma ideałów... moim zdaniem ten wątek jest nieprzemyślany i powinien wylądować w koszu... "UART0 jako RS232" ... "UART1 jako RS485/RS422" ... a co jeżeli będziesz musiał użyć dwóch RS232? Czasem trzeba wykorzystać cały port do przekazywania danych równolegle, a jeżeli będzie na nim coś zamocowane "NA STAŁE" to po ptokach ... wiem, że ATmega128 ma...
Fajny programatorek, chciałbym go podłączyć do atmega128 do uart0 i mieć możliwość programowania uC oraz odbiór danych z USB(RS232) jest to możliwe ? Jednak zrezygnowałem , znalazłem projekt bootloader'a który wykrywany jest przez system jako STK500 , działa świetnie :)