Po pierwsze - czy ustawiłeś prawidłowo fusebity, aby procesor pracował na zewnętrznym oscylatorze? Po drugie - w karcie katalogowej jest informacja, że rejestr UBRRH i UCSRR znajdują się pod tym samym adresem, więc instrukcją UCSRC|=_BV(UCSZ1)|_BV(UCSZ0&... wpisujesz tak naprawdę wartość do rejestru UBRRH! Aby wpisać ilość bitów danych...
1. Korzystasz z różnych przerwań ale nie uruchamiasz ich globalnie - sei() 2. Aktywujesz przerwanie od pustego bufora - UDRIE - ale nigdzie nie obsługujesz tego przerwania. 3. Obsługujesz przerwanie od zakończenia nadawania - TXC - ale nigdzie nie aktywujesz tego przerwania. 4. UCSRC - to co uruchomiłeś to transmisja z dwoma bitami stopu. Czy na pewno...
A mógłbyś to jakoś opisać kodem ? [syntax=c]#define BAUD0 9600 //BaudRate (bps) #define MYUBRR0(F_CPU/16/BAUD0-1) //Przerwanie co 0.1s ISR(TIMER1_COMPA_vect) { uint8_t key; static uint8_t lkey=0; key = (PINC & (1<<3)); //przycisk NPN na PC3 if(!key && lkey) UDR='k'; //wyślik "k" jako znak, że wciśnięto przycisk lkey = key; } //przerwanie...
http://obrazki.elektroda.pl/5959558100_1... Witam :) Razem z kolegą chcielibyśmy się pochwalić naszą maszyną :) Jest to ramie robota oparte na serwomechanizmach modelarskich. Ja zająłem się sterowaniem i elektroniką, a kolega robił projekt 3D w SketchUp i konstrukcje http://obrazki.elektroda.pl/9008440700_1... Początkowo...
Jak usunąłeś to #define __AVR_ATmega168__ to zdeaktywowałeś w drugim pliku tą część: #if defined (__AVR_ATmega168__) UCSRC |= ucUCSRC; Tu też doklej wszystkie uC tej "rodziny", no i jak używasz UART0 to w tym samym miejscu możesz dodać 328PB lub jako kolejny #elif. Niestety biblioteka jest tak napisana, że jak użyjesz uC nie ujętego w tym miejscu to...
Witam. Od paru godzin męczę się z niedziałającym USARTem na atmedze32. Na atmedze88 wszystko śmiga jak ma więc przejściówka USB<->RS232 jest ok. Brak zimnych lutów na płytce. Kwarc zewnętrzny (ustawiony jako EXTHIFXTALRES_258CK_4MS - przy czym nie wiem czy tak ma być dla kwarcu 16MHz). Kod zamieszczam poniżej: [syntax=c] /* * softPWM.c * * Created:...
piotrwzk - wlasnie udalo mi sie uruchomic rf12.... powiedz w jakim jezyku piszesz ... Ja uruchomilem rfm na atmedze 8 z wewnetrznym oscylatorem 8mhz zasilanie to 3,3V .. Postaram sie pomoc ...a no i zamiescic jakis ludzki opis :) ... powiem ze nie udalo mi sie uruchomic tych modolow w Bascomie - czasem cos dzialalo , czasem nie ,,, nie wiem wydaje mi...
Znalazłem błąd w programie czytając datasheeta jeszcze raz! Wszystko działa! Chodziło o to że brakowało (1 << URSEL) przy wpisywaniu wartości do rejestru UCSRC a ten rejestr dzieli adres z innym i trzeba tą jedynkę wysłać! Dzięki za wszelkie próby pomocy! Pozdrawiam
Ponawiam temat. Bo nie wiem, co może być przyczyną, że nie mogę wpisać nic do rejestru UCSRC. Programuje przez JTAG. I czy to ATmega 16,czy 32 to zawsze UCRSC==0x00 Kod: 90: UCSRC = _BV(URSEL)|_BV(USBS)|_BV... +00000C07: E88E LDI R24,0x8E Load immediate +00000C08: BD80 OUT 0x20,R24 Out to I/O...
Witam dopiero uczę się programować mikrokontrolery i wystąpił u mnie następujący błąd: zamierzam wysłać przez uart tablicę play niestety w real terminalu zamiast jej zawartości widzę następujące wyniki: 7EFFD08081F7EF albo BE06038081F7EF dodam że moduł z którym chce się skomunikować (dfplayer mini wysyła prawidłowe komunikaty) a gdy przy tej konfiguracji...
Jeśli chodzi o programowanie to sobie poradziłem. Rzeczywiście chodziło o to, że to zaprogramowania potrzebny jest jakiś zewn. kwarc. Mam natomiast roblem z działaniem układu. Ma sie on komunikować z komputerem za pośrednictwem RS232 - ale ciągle jest cisza. Jak sobie sprawdzam działanie programu w AVR studio to podczas inicjowania wszystkich rejestrów...
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"...
Napisałem najprostsze możliwe funkcje do komunikacji po RS232. void usart_init(void) { UCSRC = _BV(URSEL) | _BV(USBS) | _BV(UCSZ1) | _BV(UCSZ0); UBRRL = 51; UCSRB = _BV(RXEN) | _BV(TXEN); } void wyslij(char dana) { while(bit_is_clear(UCSRA, UDRE)); UDR = dana; } uint8_t odbierz(void) { while(bit_is_clear(UCSRA, RXC)); return UDR; } Niestety nie działa....
Poniżej wklejam kod najprostszego programu jaki można sobie wyobrazić do wysyłania czegokolwiek przez USART. Program ten jest wynikiem mojej desperacji. Od wielu wielu dni testuje programy swojego autorstwa i sciągnięte z neta gotowce (wg ich opisu i komentarzy działające bez zarzutu) i nie mogę uzyskać jakiejkolwiek komunikacji przez USART. Potrzebuję...
Zmniejszyłem ilość błędów i nie wiem co zrobić z resztą: http://screenshooter.net/6254402/biyuder chodzi tu napewno o odwołanie do [syntax=text]static 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);...
Witam Próbuję połączyć dwa uC za pomocą komunikacji UART. Attiny ma za zadanie nadanie jednego znaku ASCII natomiast Atmega powinna go odebrać i wyświetlić na wyświetlaczu lcd. Niestety kontrolery nie mogą się dogadać, programy realizujące to zadanie są praktycznie wklejone z not katalogowych Atmela, ale zamieszczam je niżej bo może coś pokręciłem....
Stworzyłąem sobie urządznie które ma gadać z Pecetem za pośrednictewem RS 232. Napisałem prosty program, zaprogramowałem procka, ale cały czas jest cisza. Sparwdzałem połączenia, poziomy napięć na max 232 - wszytsko się zgadza. Wszystko wskazuje że musi byc coś nie tak z kodem programu. Jest jedna rzecz , która nie daje mi spokoju. Otóż jak symuluje...
Witam Zaczelem sie bawic transmisja szeregowa miedzy atmega a komptuerem. Mam taki problem, ze jak pisze w asemblerze to wszystko dziala, a jak ten kod przerobie na C to wychodza jakies krzaki, czy ktos moze wie gdzie popelnilem blad program asm: .INCLUDE "m32def.inc" ldi r17, high ((16000000 / (9600 * 16)) - 1) ldi r16, low ((16000000 / (9600 * 16))...
Witam wszystkich. Chciałem napisać program który odbierze znak po rs232 i go odeśle. Kod pochodzi z datasheeta atmegi16. Port w komputerze jest dobrze skonfigurowany. Do komunikacji używam terminala v1.8. Atmega niestety nie odpowiada. #include <avr/io.h> #define F_CPU 8000000L // zegar w Hz #define RS_BAUD 4800 #define RS_UBRR F_CPU / 16 / RS_BAUD...
Witam! próbuje przesłać dane z komputera, na atmege i wyświetlić je binarne na LCD. Problem tkwi w tym że wyświetlane dane nie zgadzają się z tym co wysłałem z PC. Używam Atmegi 16 na kwarcu 16 Mhz.Oto kody programów od strony PC i Atmegi: PC using ... namespace RS232 { public partial class Form1 : Form { public Form1() {...
Witam serdecznie, mam problem z połączeniem atmegi z pc za pośrednictwem przejściówki Prolific, podobno ma działać a nie działa. Czy może ktoś zweryfikować moją inicjację USART i funkcję ślącą? F_CPU to 8MHz prędkość ustawiona na 9600 bodów. W terminalu żadnego znaku, myślałem że pomyliłem TxD z RxD ale próbowałem zamiany i dalej nic masa wspólna z...
Witam, Od niedawna jestem szczesliwym posiadaczem zestawu ZL3AVR z Atmega32. Podczas proby uruchomienia komunikacji Atmega <=> PC (za posrednictwem adaptera Prolific Technology, Inc. PL2303 Serial Port). Udaje mi sie wysylac dane (otrzymuje w terminalu komunikat "Witam!"). Natomiast wogole nie dziala mi przerwanie USART_RXC_vect. Czestotliwosc...
Witajcie Mam problem. Zrobiłem układ który wysyła do wyświetlacza TFT dane za pomocą funkcji opisanej w datascheet Atmegi16. Działa super: void USART_Transmit( unsigned int data ) { while ( !( UCSRA & (1<<UDRE))); UCSRB &= ~(1<<TXB8); if ( data & 0x0100 ) UCSRB |= (1<<TXB8); UDR = data; } zrobiłem też odbiór i tu się zaczynają...
Witam, Na dwóch ATmegach chciałem zrobić komunikację za pomocą UARTu. Miałoby to działać na zasadzie: jeśli ATmega odbierze string (hasło) np.: "1234" to wykona jakieś zadanie Kod nadajnika działa prawidłowo, potrafię wysłać string (kod w załączniku) Mam problem z kodem odbiornika, kod działa tak że reaguje tylko na znak, nie potrafi odebrać stringa....
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......
W/w procku rejestry UCSRC i UBRRH współdzielą adres, rozróżnia się je poprzez najstarszy bit URSEL. Jak konfiguruje Uart'a: UCSR0A=0x00; UCSR0B=0x10; UCSR0C=0xA6; UBRR0H=0x00; UBRR0L=0x47; a potem symuluje w AVR Studio to on zamiast wpisywać do jednego danego rejestru wpisuje naraz do dwóch, zamiana miejscami wpisywania do rejestrów nie wnosi żadnych...
Mam problem z wysyłaniem i odebraniem z rs485. Jest to ATMEGA 8 + max485. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <HD44780.c> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/eeprom.h> #include <avr/wdt.h> #include <stdio.h> #include <string.h> #include <stdlib.h>...
Witam. Mam problem z komunikacją pomiędzy PC i Atmega32. Kupiłem moduł FTDI FT232RL. Wygląda on dokładnie tak: http://obrazki.elektroda.pl/7068005800_1... Napisałem taki program dla Atmegi32 [syntax=c] #define F_CPU 8000000UL #include <avr/io.h> #include <stdio.h> #include <util/delay.h> #include <string.h> #include...
Witam, Moja przejściówka USB - RS232 okazała się być jakimś chińskim szajsem więc nie mogę chwilowo sprawdzić poprawności kodu. Czy ktoś mógłby rzucić okiem i stwierdzić czy poniższy kod ma szansę funkcjonować? ATmega jedynie odbiera jeden bajt po RS'sie i w zależności od tego czy jest to 1 czy 0, ustawia cały port C w stan aktywny bądź niski. Mikrokontroler:...
Witam, mam mały problem. Napisałem program mający za zadanie wysyłać przez USART w pętli znak. Wgrałem program podłączyłem wszystko na płytce stykowej przez max232 z portem COM w komputerze, odpaliłem RealTerma. Jednak po włączeniu Atmegi zamiast oczekiwanego znaku zapełniającego konsolę w Realtermie ekran zapełnia się napisem (nul). I nie wiem czy...
Witam, Chciałbym zwrócić się do was z problemem, z którym walczę już od jakiegoś czasu. Zaprojektowałem sterownik do wytrawiarki, w którym między innymi znajduje się ATMega32 i czujnik temperatury LM32. Gdy zacząłem pisać program i uruchomiłem ADC okazało się że wynik bardzo mocno skacze. Pomyślałem że źle zaprojektowałem płytkę i podłączyłem owy czujnik...
Coś nie działa mi uart czy wiecie w czym leży problem Dodano po 1 A jak wysyłam A to jakiś dziwny znaki się pojawią zamiast A
Witam Sprobuje po krotce opisac moj problem z Atmega32: Mam uklad z Atmega32 i max232 podlaczonymi do komputera za pomoca RS232, schemat w zalaczniku (con5 sie nie przejmujcie, na roznych schemtach raz VC+ bylo podpiete do masy a raz do VCC wiec dalem zworke). Chcialem z atmegi wyslac do PC-eta jakies dane. 1. Pisze prosty programik, atmega pracuje...
Mam problem z tranmisja AVR->PC. Uzywam ATmega32-16PU(at)10MHz, zew. krysztal. Fusy ustawione highbyte 0xC9, lowbyte 0xFF. Zasilanie 5V, kowerter poziomow to MAX232N, piny podpiete tak ATMEGA MAX232 input MAX232output PC RS TXD T2IN T2OUT RX ( pin 2) RXD R2OUT R2IN TX (pin3) GND (pin5) Kod programu testowego: #define BAUDRATE 64 // 9600 at 10MHz...
Mam następujący problem: Zadaniem docelowym jest wysyłanie wiadomości sms przez podłączony do ATmega32 terminal GSM przez RS-232. Problem polega na tym, że modem nie odpowiada na komendy AT wysyłane z ATmegi. PARAMETRY UKłADU: - Terminal Siemens MC55: - Atmega32, zewnętrzny kwarc 8MHz. Komunikacja Terminal GSM -> PC działają poprawnie. Wysyłająć...
Witam. Próbuję opanować USART w ATMega 8. Wewnętrzny oscylator 1MHz. Z komunikacją nie mam większych problemów. Jednak zastanawia mnie ustawianie prędkości transmisji. W moim programie ustawiłem prędkość transmisji na 9600bps. Rozumiem że 9600 bps oznacza wysłanie 9600 bitów w ciągu sekundy (jeżeli źle rozumuję to proszę o poprawienie mnie), a więc...
Witam. Mam kod, w którym Atmega ma wysłać na kompa dane dopiero wtedy jak komp wyśle ramkę 0b01111111. Zatrzymanie wystąpi po wysłaniu z kompa 0b00000000 (stan początkowy Atmegi, nic nie wysyła). Komenda 0b1xxxxxxx oznacza odczyt konkretnego urządzenia. Każda przesłana komenda ustawia odpowiednią flagę, która sygnalizuje działanie. Odbiór z kompa (Rx)...
W nocie katalogowej Atmega162 jest kod [syntax=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 format: 8data, 2stop bit */ UCSRC = (1<<URSEL)|(1<<USBS)|(3<&...
Witam. Mam pewien problem z odczytem ramki z czytnika RFID. Moduł (z allegro) komunikuje się z atmegą przy pomocy UART-a. Atmega działa na wewnętrznym oscylatorze 1MHz, parametry transmisji: 19200 bps, bez parzystości, 8 bitów danych, 1 bit stopu. Jakąś tam ramkę udało mi się odebrać, tzn. 4 bajty z czego tylko 3 pierwsze są poprawne. Poprawna ramka...
Dzień dobry:) Mam kolejny problem. Atmega nie może odczytać tego co wysyłam z komputera. Do komputera elegancko wszystko dochodzi ale w drugą stronę już to się nie udaje. Posiadam http://obrazki.elektroda.pl/5367414100_1... (T1OUT to TX a R1IN to RX w ft232) Płytka testowa: http://obrazki.elektroda.pl/7785833400_1...
Poprawiłem tytuł na bardziej zgodny z regulaminem p. 3.1.15. LordBlick Mam problem z ustawianiem czasu i daty na mojej płytce testowej na której umieściłem układ zegara DS1307 na Atmega 16. Nie wiem jak to zrobić w c.proszę o pomoc i przykłady dołączone do działającego programu zegara ale wyświetlającego mi po wgraniu wcześniej zdefiniowany czas i...
Witam, postanowiłem do Atmega 16A podłączyć po module USART następujący moduł: http://electropark.pl/moduly-komunikacji... . Po podłączeniu VCC do 3,3 V oraz GND do masy zapaliła się migająca czerwona diodka, natomiast po skomunikowaniu ze smartfonem czerwona dioda przestała migać tylko cały czas się palić....
w tej chwili to programuje troszke po omacku, na podstawie znalezionego w necie kodu. korzystam z ponizszego: #include <avr/io.h> #define CPU_Hz 8000000 // częstotliwość zegara w Hz #define OSC 8 // częstotliwość zegara w MHz #define BAUD 9600 // prędkość transmisji po RS232 #define MYUBRR CPU_Hz/8/BAUD-1 /// **** fukcje dla RS232 **** void UART_init(unsigned...
Witam. Chciałem sobie wgrać bootloader z tematu do ATMEGA324P i mam problem. Zmieniłem dane na: // Parametry do modyfikacji przez użytkownika: .INCLUDE "m324Pdef.inc" ; SEGMENT DEKLARACJI .EQU OSC_FREQ= 16000000; częstotliwość pracy w Hz .EQU RS_BAUD= 115200 ; prędkość transmisji dla RS-232 [bps] .EQU TYP = 24 ; typ procesora /*...
To z czym ja mam połączyć to Vref? bo już nie rozumiem Mam taktowanie 8mhz jak ustawić ten preskaler? Dodano po 2 Okej udało mi się to rozwiązać do końca. Dla potomnych działający program korzystający z AREF [syntax=c] #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> //void setAngle(int angle); //void InitServ(void);...
Witam! Od wczoraj męczę się z przesłaniem czegokolwiek z uC ATmega 8 do mojego PC poprzez USART. Przejściówka jaką posiadam jest oparta na pl2303 i jak wynika z noty to pracuje na poziomie napiec TTL. Schematu nie mam ale podłączone jest na 100% dobrze. Masy są połączone:) Problem jest taki, że mój PC odbiera całkowicie inne dane niż wyślę uC. Na początku...
Witam, od kilku dni próbuję wygrać nierówną walkę z programowym pwm i usartem na atmedze8. Wysyłam z nadajnika dane za pomocą USART (sprawdzane wielokrotnie na bank są dobre) do płytki z atmegą i serwomechanizmem. Jeżeli serwo jest sterowane bez ingerencji danych z USART to wszystko działa jak trzeba, w momencie gdy chcę wysłać gotowe dane do płytki...
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 problem z transmisją do kompa. Przeglądałem forum ale nie moge znaleść odpowiedzi na moje pytanie. Atmega ma wysyłać po rs do kompa znaki ale nic w teminalu sie nie pojawia. Mam ustawioną predkość transmisji na 19200. Kwarc 12MHz. kod wygląda tak: #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #include...
Witam serdecznie. Piszę program, w którym muszę zliczać przychodzące impulsy z licznika energetycznego do procka. Aby nie zliczać impulsów pochodzących od drgań styków wymyśliłam takie rozwiązanie. Jeśli na INT0 przyjedzie zbocze opadające, włącz licznik T0. Gdy licznik przepełni się- minie 32ms i w tym miejscu będzie poziom niski na pinie, to atmega...
ucsrc ubrrh bascom ucsrc atmega atmega rs232
wytop aluminium zasilanie wzmacniacza alpine symulacja obecności domowników
ubiquiti unifi unifi konfiguracja
Moc grzałki w układzie trójkąt vs gwiazda Regulacja czasu załączania w myjce ciśnieniowej Kärcher