1% błąd to żaden problem dla USART więc powinno działać.
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...
Do rozwiązywania takich problemów najlepiej kupić za ok 35 zł analizator stanów logicznych kompatybilny z Saleale (dostępnej w tej cenie na znanym portalu aukcyjnym) . Wtedy można podejrzeć komunikację za pomocą komputera. Oprogramowanie analizatora jest w stanie interpretować wysyłane znaki, o ile wskażemy mu prędkość transmisji.
można gonić nawet z większymi prędkościami. W pdfie masz tabelke z prędkościami UARTA, kwarcem i odpowiednią wartością UBRR - dobierz wedle uznania.
thorin00 :idea: -> dokładnie tak jak piszesz - Osamu Tamura dokładnie to opisał, że dla ATtiny45 maksymalne prędkości transferu RS232 to 4800 i ani "grosza" więcej. Aby uzyskać większe prędkości trzeba zbudować taką przejściówkę na ATmega8 lub ATmega48/88 itp ... napisał również z czym to się wiąże. Otóż w tym malutkim procku ATtiny45 nie ma sprzętowego...
Dla 1 MHz przy pojedynczej prędkości 9600 bodów to za dużo.
Zaczynasz nie z tej strony. Najpierw wyznacz sobie zakladana predkosc transmisji np 115 kb a potem zrob stosowny wpis w rejestrze UBRR ATMega. Potem ustaw w terminalu takie same parametry transmisji i juz :-)
Skoro procek hasa ci jak mówisz na 1MHz to spójrz sobie łaskawie na ostatnią stronę rozdziału USART noty PDF swojego albo dowolnego procka AVR. Tam gdzie masz tabelki z częstotliwościami taktowania i błędami dla poszczególnych prędkości RS232. I spójrz sobie na pierwszą tabelę z brzegu dla 1MHz właśnie bo ona cię interesuje oraz na prędkość 9600 którą...
W STMach jest jeszcze "systick", tylko nie wiem czy w Arduino da się pod niego podłączyć. Zazwyczaj jest to przerwanie wyzwalane co 1ms i bardzo wygodne do pchania tam rzeczy które nie muszą lub nie powinny się wykonywać z prędkością 70MHz. (at)margas60 używałeś wcześniej RS232 (portu szeregowego) do łączenia się z mikrokontrolerami?
Uważam że coś pomiedzy powinnieneś wstawić - inaczej ciągle będziesz walczył z niepownym działaniem całości (szczególnie jak to komercyjny projekt). Drugie wyjście to napisanie soft-UART-u dla tego wolniejszego - myśle że atmega powinna się wyrobić
Zgaduję że zbudowałeś [url=http://diy.elektroda.eu/konwerter-u... rs232 na attiny2313 Obsługuje on tylko prędkości 2400, 9600, oraz 38400. Atmega Fusebit Doctor "nadaje" na 4800 - więc niestety nic z tego.
(at)PiotrPitucha Czy w takim wypadku dodatkowo nie zapcham pamięci bootloaderem? P.S. Programuje za pomocą AVRSPI mkII po SPI nie mam żadnego konwertera USB/Serial Dodano po 14 Witam Oryginalny kod odbiornika : XX123YY XX123YY XX123YY XX123YY XX123YY XX123YY ... natomiast dla Atmega 8 mam B F B F F B ... Wygląda to podobnie jak sytuacja kiedy prędkość...
Czy prędkości transmisji oraz jej rodzaj nie powinny być takie same po obydwu stronach kabla ? Czyli w PC i Atmega ?
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ć.
mam podobny problem z RS232. W skrypcie mam prędkość 9600 , kwarc 8MHz. A na HT jak ustawie prędkośc 1200 to dopiero odbieram dane prawidłow. Na terminalu w Bascom jest wszystko OK. Procek mój to Atmega 8535.
Projekt z Protelu 2.0. - elementy o numeracji 150 to zasilacz i w tym kondensatory filtrujące, - elementy o numeracji 100 to RS232 + wizualna kontrolą transmisji, - elementy o numeracji 200 to RS485, - elementy o numeracji 50 to uC z kwarcem (reset w uC nie jest wymagany i można go pozostawić w powietrzu), - elementy o numeracji poniżej 50 to multiplexery...
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...
Mam 2 czujniki I2C, które osobno działają na każdej z Atmeg. Mam jeden UART, którym wysyłam dane do PC. Chciałbym zmodyfikować kod do tego stopnia abym miał jedną atmegę obsługującą oba czujniki jednocześnie. Od razu jaśniej :) Czy jeżeli kompas działa jako slave i żyro jako slave to razem też mogą być jako slave a wówczas atmega jest masterem? Teraz...
Dane z RS odczytuję za pomocą terminala BASCOMA, lub za pomocą programu COM TEST. W obu przypadkach jest to samo... właśnie zrobiłem coś, zmniejszyłem prędkość do 4800 i działa, potem zwiększyłem do 19200 i też działa, a potem zwiększyłem do 38400 i też działa. Na tych prędkościach działa bez zarzutu, czyżby kwarce w przejściówce i atmedze nie współgrały...
Witam ponownie. Doszedłem do następujących rzeczy: 1) jeśli ustawę prędkość transmisji BAUD na 9600 to Realterm poprawnie odbiera znaki dla zaznaczonej prędkości trans 1200 2) jeśli ustawę prędkość transmisji BAUD na 1200 to Realterm poprawnie odbiera znaki dla zaznaczonej prędkości trans 150 9600:1200=8 1200:150=8 Prędkość transmisji w terminalu musi...
Compiler ---> zamiast w ciemno zmieniać kwarc na szybszy (a nie o to tutaj chodzi) poczytaj sobie dokładnie notę aplikacyjną PDF do procka, którego używasz. Zresztą w każdej nocie ATMELA do procka, który posiada UART - są fajne tabelki. Aby uzyskiwać poprawne transmisje dla większych prędkości i nie tylko warto stosować tzw "kwarce przyjazne dla RS232"...
Masz dyrektywę $CRYSTAL=11059200, czyli taki rezonator powinieneś użyć. Dodatkowo powinieneś ustawić odpowiednio FuseBity - do działania z zewnętrznym oscylatorem. Domyślnie działa na wewnętrznym oscylatorze RC z zegarem 1MHz. Jeżeli nie chcesz się bawić "fusami", zmień wartość za $Crystal na 1000000 i dodatkowo zmniejsz prędkość działania RS-a ($BAUD=2400...
Właśnie miałem podobne zjawisko w Atmega162. Okazało się że preskaler zegara CLKPR jest fabrycznie ustawiony na max (dzielił przez 8 ). A i tak jakieś dziwne się cuda dzieją, Atmega na zapytanie z 9600 odpowiada prawidłowo....ale już z jakąś dziwną prędkością :(. No nic szukam dalej.
Kilka prostych zasad: 1.Dobierasz maksymalnie wolny kwarc, który wystarczy, żeby procesor wykonał swoje zadanie. (wolny kwarc - bo czym wolniej tym mniejszy pobór prądu i mniejsza podatność na zakłócenia) 2.Jeżeli niektóre urządzenia (np. USART do realizacji RS232) wymagają odpowiedniej prędkości kwarcu dla odpowiedniej prędkości transmisji to bierzesz...
Maksymalny pakiet danych, [bajtów: 1 920] przynajmniej takiej wielkości tworzy mi plik txt na komputerze gdy z terminala kopiuje raport. Myślałem nad atmega lun ftdi , ale to za wysokie progi na moje amatorskie nogi by od zera coś wynaleźć ;-)
Ja w sumie używałem jako terminala screena (pod linuksem). Spróbuj może zakomentować obsługę wyświetlacza i czujnika. Tak żeby wiedzieć czy sam UART działa... Edit: Jeśli masz wątpliwości co do terminala to jeszcze możesz spróbować puttiego. On ma bardzo prostą konfigurację. Po prostu klikniesz że chcesz połączenie po serialu, wpiszesz prędkość, klikasz...
Arduino, Atmega, Pic...Poszukujesz sterownika Pwm ze sterowaniem poprzez RS232 lub RS485 i do USB.Tak na szybko, myślę że jakiś sterownik z Avt pewnie można by zastosować.
pierwsza rzecz którą mogę zasugerować to: wyjmij proca z zestawu w podstawce od proca zewrzyj pd.0 i pd.1 ( oczywiście przy założonej zworce JP4 ) i jeżeli w tej sytuacji otrzymasz echo na terminalu w kompie to masz pewność że kabel i max232 są sprawne. jeżeli masz zamontowanego led'a od sygnalizacji programowania to możesz go użyć do wskazania czy...
Źle powiedziałem. Jest tak samo, jakbym wygrywał coś na niepodlaczoną płytkę. Czy ten twój adaptor Rs232 to może jest zbydowany na chiśkm tanim klonie FTDI (?), taki jak niżej na fot: https://obrazki.elektroda.pl/9190307700_... Jeżeli tak (!), to takie zachowanie jest zupełnie normalne z automatycznie instalowanym do nich driverem......
Witam ponownie !!! Jeszcze jedna mała nie ścisłość: void USART_Init( unsigned int baud ) { UBRR1H = (unsigned char) (baud>>8); //ustawienie prędkości UBRR1L = (unsigned char) baud; UCSR1B = (1<<RXEN) | (1<<TXEN); //włączenie nadawania iodbierania UCSR1C = (1<<USBS) | (3<<UCSZ0); //format ramki: 8data, 2stop bit } Jest to...
Witam. Do Atmegi mam podłączony enkoder z drukarki na INT0 (obsługuje przerwanie). oraz rs232 , który komunikuje się z aplikacją na PC(też przerwanie). Opcja pierwsza: czytam dane z enkodera manualnie : mam o programie guzik "daj dane". Gdy kręcę enkoderem jak szalony to w lewo to w prawo a potem wciskam guzik "daj dane" to dostaje to co trzeba - znaczy...
Witam Odbieram pakiet danych (dokładnie 11 bajtów) przez sprzętowy RS232 z prędkością 38400 (uP ATMEGA 128L kwarc-8MHz) w Bascomie: Config Serialin = Buffered , Size = 7 . . . Odb = Ischarwaiting() If Odb <> 0 Then For L = 1 To 6 Y(L) = Inkey() Waitms 7 Next L Y(1) = Asc(y(1)) Y(2) = Asc(y(2)) Y(3) = Asc(y(3)) Y(4) = Asc(y(4)) Y(5) = Asc(y(5))...
Zestawiłem układ testowy składający się z Atmegi8A z zewnętrznym osc. 8Mhz i drugi układ z ATtiny 2313 i zewnętrzny osc. 4MHz. Oba układy połączone RS232 z prędkością 9600. Odpowiednie programy załadowane do obu uC. ATmega wysyła po RS co sekundę wartość licznika. ATtiny odbiera ta wartość i zapala wyświetlacz 7 segmentowy (tylko wizualizacja odbioru...
Dzięki za pomoc i za zainteresowanie kolegi. Sys XP, napisałem programik z Visual Basic-u, przedstawia on pulpit z przeciskami. Nie wiem jak mogę skonfigurować RS232 w tym programie. Mam namyśli jak nacisnę np. przycisk D-1 to na porcie RS232 zostanie wysłany komunikat z prędkością 9600Kb/s . Odbiorę to za pomocą uC Atmega16-8 jeśli ktoś będzie mi chciał...
Ostatnio testowałem komunikację 2x atmega (odbiór i nadawanie 6 zmiennych word) przy prędkościach 57600 na odległości 100m (kabel utp), wszystko śmigała bez problemu na zwykłym uart jak i rs232 . Osobiście zainstalowałem rs485 ale to z powodu że kabel jest "ruchomy" więc będzie możliwość zakłóceń. tomek_602 co do " służy do połączenia ze sobą tylko...
klops_mops ---> masz dwa wyjścia żeby ci nie mrugały te wyświetlacze w czasie PRINT'a ;) - innymi słowy mówiąc aby procedura wysyłania RS232 nie zakłócała procedury multipleksowania 1. prostszy sposób - zwiększ tą kocią prędkość RS232 na jakąś ludzką - chociaż 9600bps to już praktycznie nie powinno ci mrugać a jak dasz każdą większą to już będzie coraz...
Masz błąd w funkcji usart_init(). Brakuje Ci ustawień starszegi bajtu danych UBBRH oraz jednej najważnejszej rzeczy nie ustawiłeś ramki danych tzn bitów stopu, kontroli parzystości oraz wielkości ramki :) Funkcja usart_init() powinna wyglądać mniejwięcej tak: void USART_Init() { /* Ustawianie prędkości*/ UBRRH = (unsigned char)(UART_CONST...
Hej mam do was pytanie odnośnie długości kabli do komunikacji atmegi. Urządzenie docelowe ma wisieć wysoko i będzie sterowane przez atmegę zaś atmega będzie obsługiwać karte SD, RS232, RS485 i bootloader USB na układzie FT232RL. Aby ułatwić dostęp do tych lini będzie zastosowana (o ile będzie się dało) duża puszka w dostępnym miejscu żeby podpiąć laptopa...
jęśli nie potrzeba Tobie duzych prędkości to polecam banalnie proste w Bascomie(USART-RS232) nic nie mieszasz w modułach podajesz zasilanie i działa:) TX-4MSIL - stosunkowo mały zasięg nie nadaje sie do transmisji wyłacznie do sterowania wł/wy (zasieg umnie w domu od 2m-10m) w ogrodzie bez przeszkód wiecej niz 70m- bo tylko tak maly mam ogród przed...
[syntax=basic4gl]$regfile = "m128def.DAT" $crystal = 14745600 $baud = 115200 'prędkość 1 USART-a $baud1 = 115200 'prędkość 2 USART-a Print "nadaje na COM1" 'nadawanie na Tx0 Open "COM2:" For Binary As #1 'nadawanie na Tx1 Print #1 ,"nadaje na COM2" [/syntax] I to wszystko żeby wysyłać...
Problem w tym że wszystkie książki rozpisują się dość obszernie na temat komunikacji przez RS, ja mam małe wymagania chce nawiązać komunikacje i zczytywać stany rejestrów (na początek) a do tego potrzebuje zdaje się bibliotek UART i odpowiednio skonfigurowanego prorgamu - określenia rodzaju i prędkości transmisji itp dlatego potrzebuje gotowego porstego...
Witam. Siedzę już drugi wieczór nad tym tematem. Komunikuję się z modułem GSM SIM800L po sprzętowym RS232. Moduł gada tylko przy prędkości 115200 - nawet specjalnie nabyłem kwarc 11.0592MHz żeby wyeliminować błędy transmisji. W czym mam problem: Atmega czyta pierwszą transmisję o gotowości z gsm'a, wszystko ok. po wysłaniu komendy AT moduł odpowiada:...
Witam. Mam taki problem. Próbuję skomunikować ze sobą dwa uC. Docelowo będą one skomunikowane po RS485, ale teraz w fazie testów próbuję je połączyć normalnie po UARCie. Skrosowałem TXD i RXD dwóch Atmeg. Wysyłam z Atmega162 znak 0x3A, natomiast na Atmedze32 włącza się przerwanie od odebrania (dioda niezależna od znaku odebranego się zapala ) ale nie...
. Czy to wina ze nie mam podpietego zewnetrznego kwarcu ? Tak ale o odpowiedniej częstotliwości. Datasheet dla twojego procka zawiera tabelkę błędów z jakimi komunikujesz się po usart dla różnych prędkości zależnie od częstotliwości procka. Jednym z magicznych kwarców jest np 11.0592 który pozwoli tobie na pracę aż po 115200 z bodajże zerowym błędem...
A czym mierzysz ciśnienie oleju? Ja w polonezie montuje swój komputer pokładowy, który rejestruje obroty, prędkość, poziom paliwa, temp płynu chłodniczego i ciśnienie oleju, a następnie wysyła po rs232 do kompa gdzie zapisywane są wyniki (Taka mini hamownia tylko że w trakcie jazdy hehe). Odnośnie pomiaru ciśnienia - mam do tego wskaźnik na desce rozdzielczej...
Witam serdecznie:) Wykonałem projekt w którym miałem zapewnić zdalne sterowanie między ATmegą32 a komputerem PC. Do Atmegii podłączyłem moduł BTM222 (jako SLAVE), to komputera adapter bluetooth (jako wirtualny port COM). Napisałem aplikację w Builderze która po wciśnięciu buttona wysyła np znak 'a' i zapala/ gasi diodę LED podłączoną do ATmegi. Niestety...
Smoczy, po twoim poście stwierdziłem, że sprawdzę fusy, i o dziwo był tam 1mhz, zamiast 8mhz, które wydawało mi się, że są. Zmieniłem więc na 8, prędkość 9600. Po zmianie zaczęło działać odbieranie znaków. Niestety nadal nie wysyła... Schematu nie ma, układ połączony jest następująco: USB -> konwerter USB/RS232 na ft232 -> max232 -> atmega. Jestem prawie...
Witam. Mam problem z połączeniem się z ATmegą 2561. Wcześniej wszystko chodziło dobrze do czasu aż wgrałem poprzez avr studio program do obsługi USART0. Użyłem do tego programatora USBisp z wgranym STK500v2. Nie ustawiałem żadnych Fusebitów (domyślne AVR Studio). Teraz nie mogę się połączyć z nim w żaden sposób. Próbowałem również przez ISPProg i STK200....
W drugiej fazie blokujesz programowanie szeregowe i wtedy ratuje Cię tylko programator równoległy. Z tego co wyczytałem z kartach katalogowych, to w procesorach ATmega nie ma możliwości zablokowania programowania szeregowego przez SPI. Notes: 1. The SPIEN Fuse is not accessible in Serial Programming mode.
Ogólnie mam 3 pytanka. 1. Czy ten kod w komunikacji AVR-PC zwróci mi 'T' czy popełniam jakiś błąd? Przede wszystkim źle napisany kod i tu popełniasz błąd. Poza tym jak chcesz efektywniej działać z modemem to wyłącz sobie echo poleceniem ATE0, bo do niczego ci to nie potrzebne a tylko będzie ci (skoro początkujesz jak widzę z pisaniem w ogóle programów...
w nocie aplikacyjnej ATmega8 masz taką sekcję: "Examples of Baud Rate Setting" tam zobaczysz sobie na jakie prędkości transmisji możesz sobie pozwolić przy danej częstotliwości taktowania procka. Weź jednak pod uwagę pewne rozbieżności jeśli używasz oscylatora a nie kwarca zewn. Jeśli piszesz, że działa ci dobrze na 4800 to zrób tak - najpierw ustaw...
Witam, Pomysł dobry ale sypie się najprawdopodobniej z powodu zbyt dużej ilości przerwań. Proponuje projekt sterownika "równoległego", taki wykorzystałem w mojej pracy inżynierskiej. Wprawdzie korzystałem tylko z 8 serw ale 16 też obsłuży po drobnej modyfikacji. Program zabiera większość mocy procesora do obsługi przerwań ale tylko przez czas 2ms potem...
Tak wygląda program z buforowaniem. Napisałem go wcześniej ale efekt był tak sam a szukajac informacji spotykałem się z tym, że UDR był nadpisywany zaraz w przerwaniu od RX. [syntax=c]ISR(TIMER0_OVF_vect) { // naliczanie TimeCounter++; if ((ReciveStep>1)&&(TimeCounter... FrameSize=ReciveStep; ReciveStep=0; TransmitStep=0; UDR=SendingData[0];...
nie wiem czy mam rację ale trzeba konfigurować każdy uart z osobna jeśli chodzi o prędkość więc komenda $baud to nieco za mało ... poza tym trzeba skonfigurować typ transmisji poleceniem config ... Z tego co wiem bascom ma problem z usartem ,
Witam. Czasami borykając się z problemem, czy jakiś układ peryferyjny działa poprawnie postanowiłem napisać krótki programik który wgrywam do procesora. Program podczas skanowania szyny i2c oddaje wynik po rs. Jest to cały program i nie wymaga dodatkowych bibliotek. [syntax=c] /*//////////////////////////////////////... 20106-12...
Po pierwsze, nie wiadomo, co kryje się pod pojęciem "sterować silnikami". Nie wiadomo, jakie to silniki, czy trzeba sterować prędkością i kierunkiem itp. Za to z góry postanowiłeś, że musi to byś ATmega, niezależnie od tego, czy się do tego zastosowania nadaje. Ciekawe podejście do projektowania...
Witam Mam dylemat związany z wyborem magistrali dla dosyć prostego systemu składającego się z centralki postawionej na raspberry pi oraz kilkunastu terminali (ATmega 8 lub 328). Założenia: - centralka wysyła żądania do terminali (konkretnych lub wszystkich - broadcast), terminale odpowiadają na żądanie, - terminal w dowolnym momencie transmituje dane...
Witam Kolego. poszukaj trochę informacji na temat Ublowskiego programu u-center aktualnie chyba wersja v8.12. Za pomocą niego można odczytać (z pomocą konwertera sygnałów TTL na RS232 lub USB) informację z GPS oraz zmienić jego ustawienia. Tutaj znajdziesz informację jak zmienić na stałe prędkość transmisji i standard komunikacji na NMEA. http://www.rcclub.eu/viewtopic.php?f=85&...
to holux 1000B, standardowo przeznaczony do pracy przez BT ale na jego złączu są też dane tyle ze w logice TTL, czyli _wydaje_mi_się_ że można go na wprost podpiąć do atmega. Zresatą jak napisałem, jeśli podepnę PC przez konwerter rs232/ttl i wysyłam mu dane z rożnymi prędkościami to nie zawsze mam echo, lub to co widzę jest przekłamane. W zasadzie...
http://obrazki.elektroda.pl/8601265300_1... Witam. Chciałbym zaprezentować moją najnowszą konstrukcję, którą jest sterownik do akwarium. Konstrukcja sterownika powstała na życzenie mojego szwagra, który postanowił stworzyć dość duże akwarium w swoim mieszkaniu (fotki poniżej). Prezentacja będzie zawierała dokumentację fotograficzną,...
Witam, Chciałem połączyć stosunkowo szybki przetwornik (lub przetworniki) AC z procesorem ATmega128 poprzez interfejs SPI. Napotkałem jednak kilka problemów do rozważenia. Jako, że jestem początkujący to być może dla wielu z Was te zagadnienia okażą się łatwe i będziecie w stanie mi pomóc, za co oczywiście z góry dziękuję. Problemy są następujące: 1....
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...
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ć...
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...
Witam, Chciałbym się komunikować z uK za pomocą portu COM (RS232). Komunikacja miałaby przebiegać w stronę PC->ATmega16. Do komunikacji ma służyć Terminal. ATmega na podstawie odebranego znaku ASCII, czyli kodu klawisza klawiatury, ma wykonać jakieś zadanie. Podłączyłem Atmega16 do PC według schematu: http://obrazki.elektroda.net/48_12149859...
A próbowałeś na urządzeniu uruchomić tylko sam AVR-DOS , bez reszty programu? Sprawdziłbyś czy karta i system plików jest poprawnie inicjalizowany. Przykładowy program, w archiwum są dodatkowe pliki z konfiguracją karty i avr-dosa. /CS karty jako PD.6, SPI na początku jest skonfigurowane z preskalerem 64. Jeżeli masz jakiś konwerter np. USB - UART (RS232)...
Odnośnie tego taktowania to nie byłem pewien czy ten wewnętrzny oscylator jest od razu włączony, ale skoro tak to wypne ten kryształ. Jaką prędkość baud podać w bascomie? 8MHz? Jutro się zaopatrze w kondensatory 22pF i będę miał alternatywe. I będzie trzeba trochę poczytać o tych fusebitach bo tego jeszcze nie rozgryzłem, może ktoś ma stronkę gdzie...
nie miałem doświadczenia póki co z ATmegami, ale pewnie są to dość podobne układy do '51, poza dodatkowymi bajerami. Jeżeli mają być wysyłane paczki po 32B, to szybkość transmisji musi byc większa od 256bit/s. Wtedy przy tej prędkości teoretycznie paczke Ci prześle w 1s ( o ile dobrze licze, poprawcie mnie jeśli coś źle napisałem;) ). Max w RS232 to...
Typy "uint8_t" i "unsigned char" oznaczają dokładnie to samo więc nie jest to problem konwersji. Tak mi się też właśnie wydawało, ale nie byłem pewien :) Czy aby na pewno i na komputerze i w uC ustawione są te same parametry transmisji 8 bitów danych, prędkość transmisji itp ? Tak, mam. Dla potwierdzenia, od strony atmegi wygląda to tak: unsigned int...
Zmieniłem prędkość na 1200b. No to już jest naprawdę wolno. I co ? I nic - nadal gubi znaki. Mam taki pomysł. Pierwszy znak zawsze przychodzi poprawnie. Dlaczego ? Cholera wie... Więc - ustawiamy SERIALIN z opcją BYTEMATCH=ALL. Czyli już po pierwszym znaku wywołuje procedurę SERIAL1 BYTERECEIVED. Teraz -po pierwszym znaku wyłączamy wszystkie timery....
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...
http://obrazki.elektroda.net/76_12533177... Jestem na etapie budowy dość skomplikowanego urządzenia do samochodu i trafiłem na barierę jakim był brak wystarczającej ilości portów do transmisji po RS232. Z atmela można uzyskać ich co najwyżej dwa a mi potrzeba ich trzy. Dość długo kombinowałem przy UART-ach tak równoległych jak i pracujących...
Witam panowie. Zagadka jest taka. Jest sobie arduino uno, ale programuję je bez bootloadera, bezpośrednio w c w avr studio wersja 4. W pewnym momencie w programie startuję timer 2 w trybie CTC i używam go jako wyjście zegarowe dla bufora. Timer 2 ma ustwienia prescalera na 1 i rejestru porównawczego na 7, co daje ze wzoru przy częstotliwości uC 16Mhz,...
Witam Otóż mam taki problem, muszę odbierać dane z Atmegi na komputerze, po RS232 i USB. Do RS-232 mam MAX-232, a do USB mam FT232. Wszystko pięknie chodzi pod konsolą (putty). Problem natomiast pojawia się przy używaniu bibliotek RXTX (których używam do komunikacji), o ile przez COM1 (gdzie mam RS-232) wszystko pięknie chodzi, to na porcie COM3 (gdzie...
A ja mam pytanie takie całkowicie banalne: Ile cię to wyniosło, bo przyznam iż jest to bardzo starannie wykonana konstrukcja (prawie, że jak ze sklepu) Proponuje przeczytać pierwszy post :) : Mój wynalazek mierzy przyspieszenie, prędkość, czas od 0 do 100 km/h, rejestruje trasę (13 minut), posiada gniazdo mini USB do ładowania oraz komunikacji z PC,...
Próbowałeś terminalem dogadać się z HC-05 na tych ustawieniach parametrów transmisji? ... nie podmieniłeś funkcji na moją. Teraz to musi już działać a nadal jest coś nie tak :( [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>...
Właśnie, problem w tym, że scalaki nie grzeją się ciągle. Możesz podgrzewać dodatkowo... ;) Mam świeży jeden projekt na ATmega162 z RS485 i optoizolacją, fragment schematu w załączniku. Jak prędkość transmisji mniejsza lub równa 4800bps to możesz dać nawet zwykłe transoptory. Sygnały TxD_MB i RxD_MB na poziomie TTL.
Mam kilka pytań: Po pierwsze jaką wycisnę prędkość transmisji po RS232 w bascomie zakładając że kwarc 16Mhz. Po drugie jak to jest z programowaniem tego procka w bascomie co mam wybrac z menu compiler chip ??
To co to za proc? Z jakim zegarem? To musi działać nawet na kwarcu 1Mhz(avr) i z prędkością 57,6Kb/s. Jak coś to wrzucaj do pamięci ram mikrokontrolera bo może to transmisja po i2c zwalnia(atmega >=8?) - tylko do testów. Spróbuj jeszcze sprawdzić ten drugi sposób z odliczaniem do dwóch znaków i i przetwarzaniem na żywo(po drugim znaku)
Interesuje mnie zaprogramowanie i sterowanie mikroprocesorami atmega ( 8 / 128 itp). Czy tego typu układ się do tego nadaje? Poprzez programowanie rozumiem wgranie gotowego programu na mikroprocesor a sterowaniem nazywam komunikację tego programu z programem napisanym na komputer(to, że może działać jako programator już wyczytałem ale bardziej interesuje...
Dopasuj prędkość transmisji po rs do nowej częstotliwości-miałeś wewnętrzny oscylator 8MHz i włączony dzielnik-przez 8 a nie przez 16-a teraz masz 16MHz bez dzielnika. Jak diodka ci szybciej miga-to częstotliwości rs w procesorze i w komputerze Ci się "rozjechały".
A i jeszcze jedna rzecz. W ATmega8 mam zewnętrzny kwarc 8MHz. Czy w ATmeg128 muszę też go zastosować dla poprawności transmisji? ja nie wiem w ogóle po co ci ten kwarc w Atmega8 - skoro ona ma tylko obsługiwać transmisję RS232 i LCD + jakieś jeszcze tam drobiazgi. Noo - chyba, że chcesz koniecznie jakieś wyższe prędkości transmisji RS232 np 115200bps...
Mam problem z UART w ATMEGA162 16PU Procesor z kwarcem 11059200 Hz zasilany 3,3V Potrzebuje prędkość 9600 b/s #include <avr/io.h> #include<inttypes.h> #include<avr/interrupt.h> #include <util/delay.h> #include <avr/wdt.h> //#include"../lib/rs232.h" #define FOSC 11059000// Clock Speed #define BAUD 9600 #define...
Trochę z innej beczki :) Czytając o problemach z konfiguracją tych modułów, znalazłem HM-TR433/TTL - transparentne moduły RS232/RF. Czy stosował je ktoś? Czy naprawdę wygląda to tak ładnie jak w nocie? Bo jeśli tak, to wolę dopłacić i uruchomić układ w 2h, niż kupić taniej a później tydzień zmarnować na uruchamianie. Danych dużo nie będzie, jakieś 4-6B...
Witam Od pewnego czasu zacząłem się bawić mikrokontrolerami, teraz przyszedł czas na komunikacje PC <-> uC i spotkała mnie niemiła niespodzianka już parę godzin spędziłem nad tym tematem, próbowałem, testowałem i cudowałem :D ale bez większych rezultatów po wyczerpaniu moich pomysłów i przejrzeniu kilku stron n elektrodzie nie rozwiązałem niestety...
A z jaką częstotliwością jest taktowany procesor i jaką prędkość transmisji sobie życzysz. Bo jeżeli jest tak jak w zakomentowanej linijce #define OSC 16000000 //czestotliwosc oscylatora i prędkość rs232 int SetupUart(char *Port="COM3", int baud= 9600 , int Bitsize=8, int StopBits=1, int Parity=NOPARITY); to to sie nijak nie zgadza z tym USART_Init...
Witam. Próbuje uruchomić wysyłanie znaków do komputera za pomocą RS232 i mam problem, nie mogę nic wysłać. Korzystam z programatora skt200 i po dłuższej analizie przebiegu programu przy pomocy diody doszedłem do wniosku, że nie jest ustawiany bit UDRE1 czyli rejestr UDR1 niby jest zajęty. Moje doświadczenie z AVR nie jest duże ale z innymi peryferiami...
Nie wiem jakie wyjście mają wiatromierze, ale pewine będzie to albo jakiś sygnał analogowy (typu 0-5V oznaczające jakąś prędkość) albo prosty sygnał zmiany zbocza co obrót (tak jak licznik rowerowy, który ma magnes na kole). W takim przypadku wystarczy tobie dowolny mały mikrokontroler (np. popularna atmega8) która z jednej strony będzie miała sygnał...
Poza tym możesz użyć uarta sprzętowego i programowego to też załatwia sprawę No to wstępnie to jest najlepsze rozwiązanie. Ale ATmega 328PB też zamówię chyba że znajdę we Wrocławiu. No ok, a jak zrobić ten dodatkowy UART w programie? Poszukam na necie, jak byście coś mogli pomóc gdzie tego szukać to był bym wdzięczny. Programowy UART na Uno będzie...
Witam, Mam problem. Próbuję zawiązać komunikację PC z Atmegą 8. Napisałem kod w C w Atmel Studio. Nadawanie zmiennej po przyciśnieciu przycisku działa, jednak jak wysyłam literę z terminala do procesora on nie reaguje. Program ma działać tak: jak naduszę przycisk wysyła do terminala t, jak wyślę jakiś znak z terminala, ma odesłać f oraz zapisać wysłany...
Za pomoca isp programmera i paru kabelków wgrywam 4kB w 3 sekundy niecałe wraz z weryfikacją na bieżąco (standardowo jak klikne erase, and program all robi jeszce jedna weryfikacje i to trwa około 6 sekund całość). Procek atmega 128. Więc nie rozumiem kompletnie gdzie skąd te problemy z prędkością. Żeby ładować program przez 2 minuty to sie trzeba nieźle...
Wyobraźmy sobie, że co drugi bajt przesyłamy informacje typu FF - a więc teoretycznie nadajnik powinien być wysterowany w maksymalny sposób, a więc i odbiornik powinien byc wysterowany maksymalnie. Pomysł jest taki : układ odbiera nadawany bajt FF - mierzy napięcie na wyjściu odbiornika, następny będzie bajt z informacją np A0 - odbiornik mierzy napięcie...
MES Mariusz. a nie lepiej lekko obciążyć wejście wzmacniacza równoległym rezystorem 47k ? kondensator zwiększa bezwładność pomiarów (co czasami jest pozyteczne a czasami nie). pozdrawiam Ale przy takiej niewielkiej częstotliwości pomiaru jak 10Hz te kondensatorki nie wiele zdołają namieszać. 10Hz to niewiele, ale nie jestem w stanie wycisnąć więcej,...
Zwarłem na przejściówce RXD z TXD i odebrałem to, co wysłałem. ATmega32 jest taktowana wewnętrznym kwarcem 1MHz (kalibrowanym wg przykładu z ksiązki M. Kardasia). Prędkość transmisji, to 4800. Pozostałe ustawienia standardowe. Kod także standardowy (później wrzuce). Ale po podłaczeniu ATmegi dalej nic się nie zmieniło.
OK mam już konwerter i on wypluwa -12/+12 , więc przez MAXa. Jeszcze jedna kwestia, bo też nie znalazłem jednoznacznej odpowiedzi (w różnych źródłach jest inaczej) - jaki kwarc dać żeby stabilnie działała prędkość transmisji 115200? Niestety nie da się wolniej, ATMEL ma emulować pewne urządzenie i program do 'gadania' z nim na PC ustawia właśnie taką...
a zajrzałeś chociaż sobie na ostatnią stronę rozdziału USART w PDF'ie do swojego procka - gdzie są tabelki w których jak byk masz przedstawione procenty błędów dla danych prędkości RS232 dla poszczególnych częstotliwości taktowania???? wystarczy zobaczyć sobie na tabelkę pierwszą z pierwszych - kwarc 1MHz i prędkość 9600bps - żeby zobaczyć że w podstawowym...
zobacz ten temat http://www.elektroda.pl/rtvforum/topic65... do komunikacji potrzebny jest Max 232 , do programowania STK200 połączenie które zamieściłeś jest dość ryzykowne , chodź można również tak programować , ale nie możesz równocześnie z tego samego portu bezpośrednio sterować L298 napisz dokładnie do czego to ma służyć i po co aż Atmega...
AVE... Projekt estetyczny i ładnie zrobiony. Tylko jedno pytanie: czy koniecznie trza było ten port D tak wyprowadzać w jednej linii z pozostałymi? Dla mnie to trochę marnowanie przestrzeni. Ma znaczenie. (...) Gdy chcemy korzystać z RS232 potrzeba kwarcu 7.3728 MHz Czy na pewno jest konieczne używanie takiego kwarcu? Układ generowania zegara dla transmisji...
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>...
Przejściówki USB LPT mają inne adresy niż sprzętowy port LPT, są znacznie wolniejsze bo nie otrzymują rozkazów "niemalże" bezpośrednio z procesora jak jest to w przypadku portu sprzętowego. Nie mierzyłem prędkości tych adapterów, i do końca nie daję gwarancji jaka będzie ich kompatybilność z frezarką, aczkolwiek na pewno nie jest do końca tak jak kolega...
rs232 prędkość atmega prędkość prędkość atmega
ciągnik łamany rolety portos hannspree telewizor
Theben Termina Top 2 - problem z kasowaniem PIN Schemat podłączenia BSI w Peugeot 508 SW - szczegóły i wskazówki