lukullus87 napisał: Mówiąc uboga mialem na mysli to, ze do ATmegi8 czy ATmegi16 dokumentacje sa znacznie bardziej dokladne, np. rejestr UCSRC w ATmedze8 jest dobrze opisany, a do ATmegi48 znlazlem tylko tyle, ze nazywa sie UCSR0C... , ale mniejsza o to.
no ale właśnie nie żadna mniejsza o to, tylko zassij sobie pełnego PDF'a gdzie wszystko masz dokładniusieńko opisane. Jak ty sobie wyobrażasz ustawienia bitów w jakimś rejestrze skoro nie masz przed oczami noty i opisanych ich znaczeń????
jeszcze raz zapewniam cię że na 100000000% na www.atmel.com znajdziesz bez najmniejszego problemu PDF'a do całej serii procków Atmega48/88/168/328 (Tylko jeden i dosyć tłusty PDF)
lukullus87 napisał:
Mój kod wyglada tak:
UCSR0C=(1<<UMSEL01) | (1<<UCSZ01) | (1<<UCSZ00);
UBRR0L = 6;
UCSR0B= (1<<RXEN0) | (1<<TXEN0);
Czestotliwosc pracy ATmega48 wynosi 1MHz, dane odbieram z Matlaba, gdzie transmisa ustawiona jest standardowa, czyli taka jaka (wydaje mi sie) ustawilem na uC. Jesli ktos wie o co chodzi prosze o pomoc.
tymczasem proszę zaglądam sobie w notę PDF tegoż procka a tu już w pierwszej linii masz MEGA ZONKA

ustawiasz bit UMSEL01 gdzie UMSEL00 ma domyślnie wartość 0. Tymczasem w nocie w opisie tych bitów w tym rejestrze jak byk stoi napisane że takie ustawienie bitów jest zarezerwowane (RESERVED) i nie można go używać
poza tym skąd ty wytrzasnąłeś wartość UBRR0L = 6. No ok może i zajrzałeś (choć troszkę wątpię) na ostatnią stronę rodziału USART gdzie zobaczyłeś, że wartość w UBRR może być =6 dla 1MHz i dla prędkości 9600 - ale tylko pod warunkiem ustawienia bitu U2Xn = 1 ....... ale u ciebie w kodzie amba zjadła to ustawienie.
Nie wspomnę już że troszkę ze strachem w związku z tym patrzę na to jak zezwalasz na przerwania
UCSR0B= (1<<RXEN0) | (1<<TXEN0); ---- a napisałeś w ogóle programy do ich obsługi w tej swojej "implementacji" ????? jeśli tak? to dlaczego w ogóle z kolei odpalasz przerwanie do nadawania skoro wspominałeś że ty chcesz tylko odbierać ?????
jak widzisz - cały ten kod nie trzyma się kupy i jasno widać dlaczego nie działa
nie można się więc tak poddawać i nie zassać dobrej noty PDF

...... a ta skrócona o której mówisz to wcale prawdopodobnie nie dotyczy procka ATmega48 - tylko zapewne dorwałeś notę w której atmel wyjaśnia różnice pomiędzy mega8 i 48 dlatego tylko tak porównawczo opisuje nazwy rejestrów jakimi się różnią
mam nadzieję, że na przyszłość już ani razu nie odpuścisz sobie zassania porządnej noty PDF
Dodano po 5 [minuty]: AVRowiec ---> nie polecaj komuś używania starej konstrukcji prototypu przerwania typu
SIGNAL - bo tego już się dawno nie używa - w zamian za to korzysta się z
ISR() ..... doczytaj dlaczego i doczytaj jakie to może powodować komplikacje z warningami itp to po pierwsze
po drugie

..... to po co jakieś kurna magiczne linki tajemnicze z opisami wektorów przerwań .... skoro masz wszystko pod ręką w WinAVR
wystarczy zajrzeć do pliku np:
iom148.h jeśli korzystasz z procka
ATmega48 albo do pliku
iom32.h jeśli korzystasz z procka
ATmega32 itd
w tych plikach na własnym kompie masz najdokładniej na świecie a co ważne pod ręką - to czego ty doszukujesz się obecnie błądząc gdzieś po necie. Zresztą w tych plikach masz jeszcze wiele wiele innych pożytecznych informacji, które można we własnym programie wykorzystać