Średnik napewno zostanie wydrukowany na LCD plus te dwa "magiczne" znaki czyli LF i CR
Dodam jeszcze że po połączeniu masy z przejściówki z masą atmegi transmisja ustaje i program nie odbiera danych. Widocznie transmisja nie zachodzi. Masy muszą być połączone. Prawdopodobnie nie konfigurujesz uartu (bascom nie jasnowidz, trzeba mu co nieco wskazać, no chyba że samo $baud= wystarcza) Żeby wyeliminować błąd związany z oscylatorem postanowiłem...
1. Nie podpinaj się pod wątek sprzed 9 lat. 2. Program działający na AVR raczej nie może decydować o tym, kiedy moduł Bluetooth albo PC zechce mu coś przesłać. 3. "Mam za zadanie przewieźć maluchem 5-tonową maszynę, bez rozbierania." Dobierz środki do zadań, a nie zaczynaj od środków. Znajdziesz mnóstwo małych uC po 4 zł, które mają po 2 UARTy.
najprostszy test zrób - czyli odłącz procka - i zewrzyj nogi TxD z RxD (tam gdzie był procek) jeśli po tym - nie będzie ci się pokazywało w terminalu dokładnie to co wpisujesz to znaczy, że masz problem z kablami, połączeniami itp itp to powyżej powinieneś jako pierwsze sprawdzić
Prościej by było przekierować konsolę na RS232 i tak to oprogramować.
Polecam poszukać pod hasłem atmega8 pinout w google lub pobrać pdf-a do procka. Na opisie wyprowadzeń są oznaczone sygnały programatora.
Owszem, USB. Podłaczasz go do kompa zgodnie z datasheetem (FT232RL na przykład), a potem przy pomocy programu udostepnionego przez producenta traktujesz układ jako 13 linii I/O ;-)
Zmień w kodzie definicję frq na 1000000 i spróbuj. Bo wtedy powinno być dobrze.
Sprawdz w dokumętacji jakie poziomy napięć przyjmuje ten modem... Jeśli tylko standard rs232 to musi być max lub jakiś inny ukłąd doapsowujący poziomy napięć... Jeśli natomiast modem przyjmuje TTL to można podpiąć bezpośrednio... Ale patrząc na to cacuszko jestem na 99% pewnien, że musi być standard rsr232...
irutkows: zegary to w atmega 4MHz FPGA 3,6864MHz. Na razie testuje na baud 9600 ale pewnie wskocze na 19200. Stale beda mi potrzebne pozniej, przeciez napisalem za co sie biore(kostka rubika na kolorowym wyswietlaczu z nokii 6100) a te 1010101.. to tylko dla testu. Wg mnie to przy zegarze 3,6864MHz dla zamieszczonego kodu będzie 3.6864E6 / (2 * 384)...
Jeśli użyjesz programowego uarta to możesz mieć je na dowolnych wyprowadzeniach , jeśli jednak chcesz korzystać ze sprzętowego uarta musisz korzystać z dedykowanych wyprowadzeń .
Żeby działała transmisja od komputera do kontrolera przy tak zbudowanym konwerterze, to wejście RxD w uK musi być wejściem z podciągniem (uaktywniony pullup), albo trzeba dołożyć rezystor na zewnątrz. Podepnij się z oscyloskopem/miernikiem/ledem z rezystorem do linii RxD, ustraw transmisję na 300 bodów i zobacz jak wygląda przebieg.
Jak chcesz sie upewnić wylutyj kwarca jak mega dalej wysyła to działa na oscylatorze wewnętrznym RC. ustaw fuse bity i bedzie ok
Płytka nie jest najlepsza, ale widywałem gorsze. Myślę, że przed wymianą płytki należy jeszcze spróbować w następującej kolejności: 1. Dobrać i dodać snubber na styki przekaźnika http://www.te.com/content/dam/te/global/... rozdział 4.5 2. Przekaźnik powodujący zakłócenia wywalić z płytki...
Dawno się już nic nie montowałem, ale na moich schematach są odwrotnie połączone sygnały, to znaczy 14 z Max łączy się z 2 na DB9, a 13 z MAX łączy się z 3 na DB9. Czyli odwotnie niz jest u Ciebie. Kolejna sprawa to BHP - włącz w szereg pomiędzy port i MAXA jakieś oporniki ograniczające (np 330-470). Jak coś pójdzie nie tak z Twoim układem to przynajmniej...
Skoro masz podlaczony procek do rs to mozesz zastosowac takie sprzetowe rozwiazanie (MCS Electronics - bootloader) : http://www.mcselec.com/images/stories/mc... To initiate a Bootloader programming session, a reset needs to be applied to the controller. You can do this manually, with a reset button or by powering down and...
W AS też można - a nawet powinno się - to definiować w opcjach projektu. To i parę innych rzeczy mi się podoba, ale ten kiepski edytor powodujw, że wolę programować w AS. Jeśli wiesz jak się to robi w AS 5.1 to podziel się wiedzą. Z góry dziękuję. tutaj jest jak zrobić przycisk do wywołania komendy avrdude A tak przy okazji. Wie ktoś jaką funkcją można...
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...
Witam Proponował bym dołożyć kondensatory elektrolityczne do stabilizatora. Nie zaszkodzi, a pomóc może. Pozdrawiam
przerwania timerów mają wyższy priorytet niż przerwanie transmisji szeregowej. Jeśli wysłanie tych pięciu liczb trwa dłużej niz 25ms to na pewno w między czasie będzie przerwanie od obsługujące klawiaturę, jeśli ono Ci modyfikuje jakiś wskaźnik lub inną zmienną związaną z buforem wysyłania danych to tam bedzie powód gubienia znaków. Musisz tez przeanalizować...
czyli tak na prawdę i tak potrzebuję programatora żeby wgrać bootloadera do ATMegi? Tak.
twój przypadek wygląda tak jakby procesor używał innego bauda jak mu każesz. po pierwsze sprawdz czy ATmega kożysta z zewnętrznego kwarcu (chodzi o fusebity) bo standardowo jak wyjeżdza z fabryki to chodzi wewnętrznym 1MHz. po drógie sprawdz konfigóracje uarta są w necie takie programiki do obilczania wartość rejstrów na różnych kwarcach.
string powinien kończyć się znakiem NULL czyli o wartości zero. Nie używałem uarta, czy gdzieś w Twoim kodzie jest funkcja / lub ją dodałeś że po odebraniu tylko 5 znaków zostanie dopisany znak NULL? jeśli nie ma tam takiego czegoś to nic dziwnego. Funkcja UART_putstr będzie wypisywać wszystko co napotka aż znajdzie znak NULL (zero). najprostsze co...
To jest program pod ATmega32 ale powinien dzialac #include <avr/io.h> #include <stdlib.h> #define F_CPU 8000000 // 8MHz zegar procesora #define CYCLES_PER_US ((F_CPU+500000)/1000000) // cpu cycles per microsecond // #define UART_BAUD 19200ul //prędkość transmisji w bodach (tu 19200 bodów) #define UART_CONST (F_CPU/(16ul*UART_BAUD)-1...
http://obrazki.elektroda.net/76_12556968... Witam, przedstawiam moduł 'usb-rs232 i/o port', jest to przejściówka usb-rs232 zrobiona na bazie projektu http://obrazki.elektroda.net/76_12556968... http://obrazki.elektroda.net/5_125569703... http://obrazki.elektroda.net/15_12556969... http://obrazki.elektroda.net/9_125569699...
OK.
$regfile = "m8def.dat" $baud = 9600 $crystal = 1000000 Dim X As String * 160 At $300 'uzywa adresu 300 w SRAM Dim A(160) As Byte At $300 Overlay 'tablica 160 bajtow zapisana w tym samym miejscu Dim Z As Byte Print "podaj X" Input X For Z = 1 To 160 Print Chr(a(z)) Next Z 'lub bardziej przejzyscie For Z =...
W helpie nie ma programu do odbioru? :)
Nie miałem nigdy problemów z komunikacją na wewnętrznym generatorze 8MHz przy szybkości 19200. Ustaw więc wewnętrzny generator na 8MHz.
w takim przypadku mierzone napięcie podłączasz do nóżki PC1.
Czyli poziomy napięć -9V dla jedznki i +9V dla zera, a ATmega daje +5 V dla jedznki i 0 dla zera. No, raczej to nie zadziała...
Na przedstawionych schematach masz zamienione linie Rx i Tx.
Do konwersji logi wystarczy dzielnik napięcia (2 rezystory): http://obrazki.elektroda.pl/6232272600_1... Co do sterowania servem, to nie widzę potrzeby dawania tranzystora.
witam nie znam ATmega i biblioteki, która obsługuje RS (bawię się PIC i ASM) ale wygląda mi to na nie dobraną prędkość transmisji procek "gada" wolniej niż terminal -wysyłaj z procka cały czas 68 (44hex) i zmieniając prędkość w terminalu sprawdź czy otrzymasz D -lub doczytaj dokładnie o ustawianiu prędkości, bitach kontrolnych i stopu w bibliotece do...
Co to znaczy że testowałeś już różne ustawienia crystal? Musisz być pewien co masz ustawione - w innym wypadku to nie robota ;) Fabrycznie nowa pracuje na 1MHz. Napisz prosty programik [syntax=vbnet] $crystal = 8000000 Config PORTB.0 = Output : Led Alias PORTB.0 Do Toggle Led Waitms 500 Loop[/syntax] To chyba oczywiste że dioda powinna mignąć 60 razy...
So double check everything... TWICE! Musi działać:)
No bo tak napisales program, zeby wysylal 30 razy "cos". Ale dlaczego sie wiesza to mozna powiedziec tylko widzac calosc. A wogole co ma byc wysylane ? Moze opiszesz co to ma wogole robic. Pozdr
nic
Oczywiście, gdy chcesz wysłać napis, nie stosujesz zmiennej BYTE, prawda?
tak, zmniejszylem oczywiscie.
Na schemacie widziałem 4MHz dlatego tak napisałem. Jeżeli masz 8MHz to, tak: 51 wpisujesz do UBRRL. Ale lepiej posłużyć się wzorem, gdyż możesz wtedy łatwo, szybko i przyjemnie zmienić prędkość transmisji. (unsigned char)(baud>>8); (unsigned char)baud; baud ogólnie może być większe niż 256, wtedy kompilator zapisuje go jako liczbę 2bitową. Jeżeli zrobić...
http://www.atmel.com/dyn/resources/prod_... strony 140 i 143
ha! nie wpadłem na to, żeby zewrzeć z tej strony. Zwarłem 2 i 3 w moim kablu i mam echo! czyli 10% sukcesu już za mną.. To świadczy o tym, że kabel zlutowałem dobrze. Niekoniecznie. W dalszym ciągu mogłeś polutować 2-2 3-3. :) Tak czy inaczej teraz trzeba rozwiązać inny problem - dlaczego nie ma echa gdy zwieram wejście z wyjściem za maksem? Najlepiej...
proponuje cos takiego: #include <avr/io.h> #include <avr/delay.h> #include "io.h" void USART_Init( unsigned int baud ) { //ustawienie portu DDRD &= 0xFE ; DDRD |= 0x02 ; PORTD |= 0x03 ; /*set baudrate*/ UBRRH = (unsigned char)(baud>>8); UBRRL = (unsigned char)baud; /*enable receiver and transmitter*/ UCSRB = (1<<RXEN)|(1<<TXEN);...
[syntax=c]x = 0; for (p = bufor; *p >= '0' && *p <= '9'; p ++) x = x * 10 + *p - '0';[/syntax]
Najpewniej masz źle wyliczony boudrate dla RS232. Masz kwarc 10MHz? Podglądnij na symulatorze co masz wpisane do UBRR i sprawdź z tabelką w nocie.
Zacznij od poprawnego zdefiniowania F_CPU: http://mikrokontrolery.blogspot.com/2011...
Witam, domyslam sie ze patrzac na tytul wielu odrazu pomyslalo "bylo ze 100 razy". Jednak mam nieco inny problem. Zbudowalem uklad: PC<=>MAX232<=>ATMega8 z niewiadomych mi powodów atmega nie przesyła danych do pc. W momecie gdy za maxem zewre Tx i Rx jest echo na kompie. Max wiec dziala. 1.Max ma ceramika przy samym procku, elektrolity 1uF...
Khmmm, po pierwsze to niech kolega docelowo zrobi obsluge odbioru na przerwaniu, ale narazie to nie ma znaczenia. Po drugie :> zalezy z jaka czestotliwoscia wysylasz znaki. Bo jesli z komputera kazesz mu wyslac od razu caly ciag, a w programie kazesz mu po kazdym odebranym znaku odczekac 200+200ms to kazdy znak ktory przyjdzie w tym czasie zostanie...
Nie wiem. Moze ci to pomoze. W lutowej EP (2/05) jest artykul (czesc 2) o sterowaniu takim wyswietlaczem. Jak sadze (:)) w styczniu byla czesc pierwsza. Nie wczytywalem sie w to, ale tam steruja tak: komp=>RS232=>AtMega8=>wyswietlacz kolorowy 96x64. Na komputerze obrabia sie bitmape i wysyla na RS232, a procek to wyswietla.
Witam Wykonałem układ na Atmega8 z komunikacją RS232. Chciałem podłączyć drukarkę kodów kreskowych i wydrukować etykietę. Port w uC i w drukarce ustawiłem na 1200, N, 8, 1. Drukarka milczy, nie drukuje. Na PC w Hyperterminalu ładnie wszystko odbiera i wysyłane znaki ascii się zgadzają. Znaki wysyłam w pętli po jednym znaku i czekam po każdym 50ms, może...
Dlaczego tablica ascii ma tylko 6 pozycji? Potrzebujesz 7. Jawnie wychodzisz poza tablicę (w kodzie wystepuje ascii[6]). I taka uwaga na przyszłość. W funkcji set_values wysyłasz dane serialem. Procedura USART_Transmit czeka aktywnie na wysłanie - trwa dość długo. Wywołanie jej w procedurze obsługi przerwania z odbiornika powoduje za długie wykonanie...
Jeśli, Atmegi zasilane są osobnych źródeł zasilania to obie masy połączyć, tak? Tak. Jeśli chodzi o prędkość to wydaje mi się że obydwa uc powinny być taktowane takim samym zegarem a z prędkością nie należy przesadzać.
Oled w niektórych bibliotekach ma bufor RAM 1k, a to cały RAM w Atmega8 i nawet jeśli nie jest cały buforowany to raczej tu bym szukał przyczyny w dziwnym zachowaniu uC. Ciężko byłoby rozjechać synchronizację dla prędkości 9600, a ewentualne błędy dla 8 i 16MHz są takie same i wzajemnie się znoszą, choć oczywiście lepiej mieć kwarc zewnętrzny. Spróbuj...
Hardware: Atmega -> MAX232 -> PC Software: Wizualizacja za pomocą Atmel Data Visualiser (Koledzy pewnie zaproponują jeszcze kilka innych) lub własnego programu na PC. Wcześniej musisz napisać kawałek programu do startu komunikacji dla ADV. Szczegóły znajdziesz w książce Tomasza Francuza, "AVR Praktyczne projekty". Polecam, bo to solidna porcja wiedzy....
Witam! Są sobie 2 Atmegi8 w TQFP. Obydwie taktowane zewnętrznym kwarcem 8MHz. Podłączyłem je w następujący sposób: http://obrazki.elektroda.net/27_12838803... Dodatkowo podłączyłem niewidoczne na schemacie diody led w celu sygnalizacji. W jednym uC jest taki program: (Wysyłanie) $crystal = 8000000 $regfile = "m8def.dat" $baud=1200...
W takim układzie zerknij tutaj: http://mikrokontrolery.blogspot.com/2011... + konwerter RS232-USB.
nie pamietam dokladnie, ale czytalem cos kiedys o tym i pamietam ze tzreba bylo "plukac" bufor przed dobieraniem. byla to funkcja chyba FLUSH. Polecam www.4programmers.net albo "RS 232. Praktyczne programowanie" Andrzeja Daniluka
Jeśli to jest Twoje oryginalne opracowanie, to pewnie dałoby się to zarejestrować jako wzór uzytkowy (nie patent), ale pewnie związane jest to ze sporymi kosztami. Z własnej praktyki mogę Ci powiedzieć tylko tak: jeśli klient przychodzi do sklepu i pyta się o zasilacz, to jeżeli już się dowie, że jest taki jakiego szuka, to jego drugim pytaniem, będzie:...
Z góry przepraszam za zamieszczenie całego programu - i tak jest okrojony do minimum - ale gotowy do skompilowania (ICCAVR) Chciałem uniknąć pytań z cyklu a co masz jeszcze w programie - może się gryzie... Problem dotyczy wysyłania danych za pomocą interfejsu RS232 w procesorze AT Mega8 ( pewnie i innych ale ja wałkuje akurat ten ) Nie moge dojść dlaczego...
Witam, zanim zabierzesz się za pisanie własnej obsługi przerwań do RS232 w Bascomie, to może najpierw spróbuj zrobić to w oparciu o dobrodziejstwa jakie daje ci Bascom. nie znasz poleceń INPUT , INKEY czy PRINT ???? do tego jeszcze może Config Serialin bo w powyższym kodzie odstawiasz niezły "miszmasz" i nie ma co się dziwić, że ci nie działa. Oczywiście...
Witam nie mogę znaleźć prostego układu elektrycznego łączącego DS1820 z Atmega8 i RS232. Chce zrobić czujnik temperatury wykorzystując te elementy, a że jestem dobra z elektroniki, dlatego prosze was o pomoc pozdrawiam
Nie. Jest to układ switcha 8-portowego gigabitowego...
A otworzyłeś port? Zobacz sobie przykład do tej kontrolki. Coś takiego znalazłem. Przeanalizuj. Private Sub Command1_Click() CommX1.BAUDRATE = 19200 CommX1.COMPORT = 1 CommX1.OPEN End Sub Private Sub Command2_Click() CommX1.Close End Sub Private Sub Command3_Click() CommX1.SEND Text3.Text + Chr(13) ' send data End Sub...
do takich zabaw ja używam cutecom-a http://cutecom.sourceforge.net/
Witam.W moim układzie atmega8 za pomocą komend AT komunikuje się z Siemensem C35 w celu dzwonienia na mój telefon .Wszystko gra tak jak powinno od ponad roku. Jednak chciałbym zrobić drugi układ wykorzystując SONY ERICSSON k550i. Do testowania korzystałem z tej stronki [url=http://mopsik87.blogspot.com/2007/0... i wszystko śmiga doskonale...
a czy jest możliwość zrobienia z niego kompletnej przejściówki USB<=>RS232?
Chyba jednak przekaz mojej wiadomości się nie przebił, ... To trochę też moja wina, bo po łebkach przeczytałem pierwszy post :oops: ... czy zestaw wskazany przez autora podoła? Wprawdzie podałeś mniej więcej co chcesz do zestawu podłączyć, jednakże by jednoznacznie odpowiedzieć na Twoje pytanie, powinieneś zrobić bilans pinów. Czyli do której funkcjonalności...
Z jakiego terminala mogę wysyłać dane? Przydało by mi się to bardzo poniwaz jeżeli chodzi o bascomowy to potrafię tylko odbierać. Wysyłam tylko temperaturę w postaci np 233 instrukcją print która wysyła to w postaci tkstowej. Układy mam w firmie i dopiero wówczas będę mógł załadować wsad.
atoi() albo lepiej pełną procedure "przekształcania" stringa. W twoim przypadku konieczne jest jednak pełne przekształcanie stringa, w pojedynczym znaku możesz zmieścić do 10/16 liczb. jeśli wystarcza zakres 0...255 to możesz wysyłać bajty binarnie.
Zobacz to: http://homepage.ntlworld.com/seanellis/m... dosyć łatwo można przerzucić to na atmega8
Masy muszą być połączone.
Witam wszystkich serdecznie. Miał bym mały problem z oprogramowaniem mikrokontrolera, który by miał być konwerterem sygnału rajdowego na RS232. Szukałem trochę w Internecie i zbytnio nie mogłem znaleźć dokładnie jak trzeba skonfigurować moduł CC1000. Pod spodem zamieszczam schemat blokowy w którym bym się znajdowała tam przejściówka. A jeszcze niżej...
W twoim programie jest tak: [syntax=basic4gl]If Wart_ac > 1000 Then Gosub Wykrywanie Elseif Wart_ac < 1000 Then Gosub Czujnik1przeciwnik Elseif Wart_ac1 < 1000 Or Wart_ac2 < 1000 Then ' ###### ta czesc petli nie reaguje na zmiany w ukladzie ### Gosub Czujnik12lini End If [/syntax] w jaki sposób 3 opcja ma zostać spełniona? Przecież jeśli...
Witam, Jakiś czas temu wpadłem na pomysł, by stworzyć prosty rejestrator napięcia komunikujący się z PC za pomocą przejściówki RS232. Pierwsza wersja (płytka stykowa) jest oparta o uC Attiny13, z programowym uartem. Działa bardzo dobrze, aczkolwiek problem pojawił się z zasilaniem. Niestety prąd który można wyciągnąć z typowej przejściówki USB-RS232...
Witam wszystkich, jest to mój pierwszy tego typu projekt. Na bazie wiedzy przyswojonej z forum i ogólnie z internetu skonstruowałem schemat układu który w moim przekonaniu miałby posłużyć do mierzenia temperatury za pomocą dwóch cyfrowych czujników, pomiary wyświetlać na ekranie LCD oraz komunikować się z komputerem przez port rs232. Moje pytanie do...
Tak wiem, ale to tak dla własnej wiadomości.
Wydzieliłem całkowicie układ z max232 i jeśli nie zasilę go +5V to zwarcie pinów 2-3 gniazda DB9 żeńskiego powoduje powrót znaków w Hyperterminalu, po podłączeniu zasilania max232 znaki nie powracają. Próbowałem zamienić rx tx czyli 2 z 3 na DB9 ale dostaję śmieci po zwarciu tych pinów. Dzięki za cierpliwość.
Witam. W związku z tym że port D mam wykorzystany do obsługi LCD nie mogę użyć USART do RS232 (żeby połączyć PC z uK). Dlatego ustawiłem sobie PORTB PB4 i PB5 żeby to działało. Ale niestety nie chce (mimo że z max232 dochodzą sygnały). Więc mam prośbę : -może ktoś zauważy błąd (może w kodzie , może w połączeniach) z góry dzięki za pomoc. p.s. wiem że...
no wiec tak, mam stacje dokujaca do siemensa sl45i( z innymi siemensami z "duzym" gniazdem tez dziala) bede probowal ja podpiac do uP oczywisce w kolejnosci avr -> max232 -> stacja dokujaca -> telefon. jezeli odpali komunikacja to znaczy ze jest za niski poziom tx w telefonie. a potem to sie bede martwil jak podniesc to napiecie. zajrzyj rowniez tu...
witam popierwsze zapoznaj sie z dokladna zasada dzialania rs232 i komendami do niego a na pewno wpadniesz na pomysł jak to zapisywac jak nie to daj znac :0
Bufor cykliczny trzeba zorganizować na RS232 oraz wysyłanie na przerwaniach i po kłopocie.
Znalazłem Tylko że muszę użyć układ scalony MAX232 do "pogodzenia" napięć PC i TTL. I to wszytsko ale jak przesyłać dane. Do transmisji danych w ATmega8 musisz użyć USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) w trybie asynchronicznym. Łączysz pin wyjściowy oznaczony w ATmega8 jako TXD z wejściem RXD w porcie szeregowym...
Witam. Wysylac na coma mi ladnie wysyla. natomiast jak wpisze cos w druga strone to juz tak pieknie nie jest :( Jak kaze wyslac slowo "hello" to wyswietla mi po 1 literce :( da sie cos z tym zrobic ?
witam od niedawna zacząłem zabawę z mikrokontrolerem atmega8, programuje go w C programem WinAVR, transmisja przez rs232 też nie sprawia mi problemów, tylko teraz chcę zrobić coś takiego aby sterować wyjściami mikrokontolera przez program napisany w Borland C++ Builder 6. Moje pytanie to: czy jest coś takiego możliwe poprzez konkretne odwoływanie się...
Skorzystaj z opcji RTS/CTS.
Panowie mam problem jak w temacie z komunikacją w dwie strony. Moim założeniem było napisanie takiej komunikacji aby aby procesory nie zawieszały się w oczekiwaniu na odbierane dane oraz w sytuacji przerwy w trakcie transmisji. Jeden układ jest masterem i zawsze rozpoczyna transmisję. Co ciekawe program chodzi dobrze do momentu wykrycia błędu komunikacji....
Witam. Od niedawna zacząłem interesować się mikrokontrolerami, konkretnie avr. Zafundowałem sobie atmega8 i udało mi się zapanować nad jego portami i pinami. Teraz przyszła mi ochota na komunikacje atmega8 z pc. Na wszystkich schematach jakie znalazłem w sieci (atmega8 <=> rs232) zastosowany jest zewnętrzny rezonator kwarcowy z dwoma kondensatorami....
Witam ATmega162 i ATmega128 mają po dwa rs232, więc łatwo można je łączyć.
Taniej kupić cały router WRT54GL z rs232 i będziesz mógł zrobić wszystko, a nawet prosty serwer HTTP na nim postawić. Atmega powinna Ci się zmieści do obudowy routera i wszystko będzie ładnie wyglądać... Ja tak udostępniam temperatury z całego domu 1-Wire<-->Atmega8<-RS232->WR...
W 90% przypadków komunikacja po RS-232 będzie możliwa w/g logiki: Lo - >3,3V Hi - <0,7V
W zasadzie dałoby się to zrobić. Musiałbyś emulować wyświetlacz. Oprócz samego odczytywania wartości portów trzeba niestety rozpoznawać komendy i odpowiadać też z powrotem - co najmniej flagą BUSY. Jeśli widzisz polskie znaczki typu Ą, Ę, to pewnie zaprogramowano pamięć CGRAM, więc też oprócz pamięci znaków - DDRAM, musisz emulować CGRAM... troszkę...
Naprawde zrobiłem już wszystko. Oto dyrektywy początkowe: $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 Wszystko oczywiście zgodne z rzeczeczywistością. Przy pomocy instrukcji print wysyłam przez RS-a napis. No i: NIC!!! Ciekawostką jest to, że jak zmniejsze w terminalu prędkość transmisji do np. 1200 (a wszystko pozostaje jak wyżej) to wyswietla...
Dołączam do tematu aby znie zakładać nowego. Czy ten układ: http://xsoft.eu/img/lcd4usb/pcb.png programuje się z USB czy trzeba podpiąc do RS232 ??
To znaczy mam dwa sposoby odbierania w zależności jak skompiluje. Mogę odbierać za pomocą przerwania lub cały czas nasłuchując. (1<<RXCIE) To mam w funkcji USART_Init sei(); To mam w funkcji odbior_z_przerwaniem A resztę posta muszę przetrawić :) Dobra zacząłem coś odbierać tylko, że to co ja odbieram ma się ni jak do tego co wysyłam. Jak wysyłam...
Napisałem taki program do komunikacji z komputerem. Zakładam ze wysyłane znaki będą widoczne w HyperTerminalu. Jednak nic się nie dzieje. Jaki popełniam błąd. Poniżej jest listing programu. #include <avr/io.h> #define CPU_Hz16000000 // częstotliwość zegara w Hz #define OSC 16 // częstotliwość zegara w MHz #define BAUD9600 // prędkość transmisji...
Myślę, że brakuje RAM i nadpisujesz stos. Jak mieścisz wektor pomiarów o długości 1500 bajtów w ATmega8 ? Pozdrawiam
Witam, zrobiłem prościutką testową komunikację po RS232 Atmega8 oraz PC-ta i wszystko śmiga jak zwkle ładnie że aż szok ale .... ... mały problem, bo zrobiłem sobie coś takiego: w głównej pętli mam: S = "" If Ischarwaiting() = 1 Then Gosub Obslugars232 następnie w procdeurze przychodzących znaków z PCta: Sub Obslugars232 Input S Noecho...
Proszę na podstawie tych moich danych o prościutki program w C żeby sprawdzić komunikację z procesora do laptopa. Wykorzystaj wiedzę stąd: http://mikrokontrolery.blogspot.com/2011...
rs232 atmega8 komunikacja rs232 atmega8 atmega8 rs232 bascom
email recover schemat silnika pralki siemens termet czyścić wymiennik ciepła
schemat elektryczne szyby nauczanie fizyki
Resetowanie panelu sterowania chińskiego Webasto Jak zbudować keypad do drzwi na tranzystorach?