Witam Napisałem program do obsługi portu szeregowego, ale mam mały problem. Mianowicie chce, aby gdy do procka wyśle ustaloną liczbę (145) to na wyświetlaczu pojawi się napis (Test RS232) i procek wyśle w odpowiedzi liczbę 7. Gdy wysyłam inną liczbę to wyświetla napis XXX i wysyła odebraną liczbę. Problem jest w pętli if ponieważ jak wyśle liczbę zaczynającą...
To nie jest zadne 5 bitow tylko liczba podstawowych impulsow czasu po ktorym nastapi nadanie kolejnego bitu.Przyklad:jesli timer jest taktowany czestotliwoscia 1MHz to 5 bedzie oznaczac ze co 5us nastapi wyslanie bitu poprzez port szeregowy a wiec ustawiona czestotliwosc wynosi 1/5us = 200kbit/s.
nie trzeba żadnych fusebitów w tym celu odblokowywać - jedynie ustawić za pomocą nich pożądaną częstotliwość taktowania jeśli nie wystarcza ta domyślnie ustawiona w procku (wewn. oscylator 1MHz) .... kolejną rzeczą jest umiejętne oprogramowanie UARTa tak żeby zapanować nad własną transmisją i to wszystko - ale zależy w czym programujesz bo nie napisałeś...
A moze to nie jest kwestia Bascoma tylko tego ze Atmega nadal chodzi na wewn. oscylatorze 1MHz. Z objawow by tak wynikalo ze tak wlasnie jest. Przestawiales fusebity na prace z zewnetrznym kwarcem ?? Pozdro Dexter
Witam. Mam mikrokontroler atmega16 i używam kompilatora AVRSide. Chcę przesłać dane do komputera z pośrednictwem USARTU i ustawiam nadajnik oraz odbiornik w ten sposób: void USART_Init(unsigned char baud) { DDRD=0x02; UBRRH = 0; UBRRL = baud; UCSRB = _BV(RXEN) | _BV(RXEN) ; UCSRC = _BV(URSEL) | _BV(UCSZ0) | _BV(UCSZ1); } Problem w tym że bity URSEL,...
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.
Witam Nie dalej jak wczoraj robiłem taki konwerter żeby sprzęgnąć procesor z modułem MP3. Po próbach z generatorem (z oscyloskopu) okazało się, że spokojnie śmiga na częstotliwości powyżej 1MHz. Sęk w tym, że przy tej częstotliwości prostokąt wyglądem bardziej przypominał trapez a za konwerterem (pętla tam i spowrotem) prostokąt wyglądał jak prostokąt....
Poniżej zamieszczam kod i screen z terminala(może błąd tkwi w jego konfiguracji bo nigdy tego nie robiłem). Będę wdzięczny za pomoc. Kod: #define MYUBRR CPU_Hz/16/BAUD-1 Być może źle wyliczasz UBRR, chodzi o kolejność działań. Zamień na : #define MYUBRR (CPU_Hz / (16 * BAUD))-1 dla Fzeg = 8MHz i 9600b/s UBRR = 51 . sprawdź czy tyle Ci wylicza. No i...
Poniżej obiecany schemat. Narazie nie ma jeszcze tranzystora T1 i wejścia 'Światło'. Do testów jest TxD. Nie ma też jeszcze optotriaka, jest tylko dioda LED1. A tu biblioteka USART. [syntax=c]/* Software ("bit-bang") UART Transmitter (8 data bits, 1 stop bit, no parity) for Attiny24A/44A/84A using the internal 8MHz oscillator as clock source (c) 2018...
AT90S2313 -> jak zapewne wiesz MUSI mieć zewnętrzny kwarc bo inaczej nie będzie działał - i jak się domyślam na pewno dałeś kwarc 4MHz (jak wynika z kodu i wszystko w nim działa) jeśli chodzi o ATtiny2313 - to po zakupie działa on na wewnętrzym oscylatorze 1MHz a nie na kwarcu - nawet jeśli jest on podłączony. Tak więc podstawowe pytanie jak zawsze...
Zakladam ze bascom wylicza wszystko za ciebie ;) Moze nie zmieniles jednak na zewnetrzny kwarc, sprobuj teraz w programie zmienic znowu na 1MHz bez zmiany fusow. Jak nie zadziala to zmien spowrotem na 1MHz i sprawdz czy dziala.
Witam. Dziekuje za pomoc transmisja na 9600 bodow rozwiazana. Okazalo sie ze procesor dziala na wewnetrznym rezonatorze 1mhz i po przestawieniu na 8MHz wszystko jest ok. Natomiast mam jeszcze jeden problem a mianowicie chodzi o to ze PB2 i PB1 i PB0 standardowo w programie sa wejsciem z wewnetrznym pull-up czyli maja napiecie. Stan tych pinow zmienia...
...czy na czas wytransmitowania, bądź odbioru znaku program wstrzyma swoje działanie na 10ms, czy po prostu odbędzie się to równolegle... Jeśli budujesz transmisję RS232 na przerwaniach, sprzętowy USART odbiera znak w czasie, gdy procesor wykonuje program główny. Po odebraniu całego znaku generowane jest przerwanie. W obsłudze przerwania musisz tylko...
Hej, ostatnio rozwiązywałem ten sam problem, więc może Ci pomogę. Układ max232 podłączyłem tak jak w tym pdf'ie: Jako sygnał zegarowy użyłem wewnętrznego rezonatora RC (ustawionego na częstotliwość pracy 1MHz). Jako terminalu użyłem programu putty, którego konfigurację zamieszczam na dwóch screenach: Ponieważ nie mam w komputerze gniazd rs232 użyłem...
Hmm. Czyli ten HC-06 jest nowym układem i nie przestawiałeś w nim parametrów transmisji komendami AT. Masz konwerter RS232-USB lub komputer z takim interfejsem na poziomach napięć TTL? Edit: włączasz przerwania odbioru RXCIE: [syntax=c] UCSRB = (1<<TXEN) | (1<<RXEN) | (1<<RXCIE);[/syntax] a funkcja obsługi przerwania dotyczy gotowości...
Witam! Bardzo rzadko wysyłam posta z pytaniem na elektrodę, zazwyczaj sam znajduję odpowiedź, lecz tym razem stanęłem w miejscu. Próbuję zaprogramować uC ATmega 8 żeby poprzez rs232 komunikował się z komputerem, za pomocą USART. Podłączyłem maxa232 zgodnie z datasheetem, program wygląda następująco: .INCLUDE "m8def.inc" ;czesc systemowa 1MHz...
Jak w temacie, kupię: AtMega 8L (dip28) AtMega 16 Ekran LCD na HD44780, minimum 2x16 Kwarce od 1Mhz do 20Mhz (np zestaw kwarców 1,2,4,8,16,20Mhz) Kwarce zegarkowe (32,768khz) Przejściówkę USB-> RS232
Z tym, że nie zawsze otrzymuje to co chce i muszę resetować i wtedy zależy jak się trafi. To pewnie sprawa błędów. Z tego co czytałem to powinienem dobrać odpowiedni kwarc do atmegi. Jaki polecacie? Potrzebuje zrobić przez rs232 pomiar temperatury przy pomocy układu DS18B20, oraz odczyt z enkodera to będzie taki jak są w lego MINDSTORMS. A i mam jeszcze...
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)
Procesor Atmega8 oscylator wewnętrzny 1MHz w Bascomie stosując instrukcję: print "dowolny znak ASCII" w terminalu na PC otrzymuję znaki przesunięte decymalnie o 64 np: print "01245" otrzymuję "pqrstu". Co może być tego przyczyną? Serdecznie pozdrawiam
Czesc, mam zblizony problem, tylko ze z ATmega8515 uP jest w konfiguracji: 1MHz (wewnetrzny), reset przez 10k do Vcc, i przez 10uF do masy MAX232: 4x 10uF Wszystko zasilone z 7805 Terminal: minicom napisalem prosty program w C (cos jak echo), lwia czesc kodu pochodzi z dokumentacji atmela do tej ATmegi, i.. dane odsylane do komputera sa w 100% przeklamane....
Jezeli wybrales External to ustawiles procesor na prace z zewnetrznym zegarem NIE kwarcem. Zeby moc ponownie programowac procesor musisz podlaczyc generator ok. 1MHz na nozke XTAL1 a nozke XTAL2 pozostawic nie podlaczona. Tez za pierwszym razem ustawilem External i musialem sie nabiedzic zeby ponownie ozywic proca. Zalatwilem to w taki sposob ze platal...
Witam. Posiadam ATmega8 i usiłuje się nim komunikować z komputerem poprzez port szeregowy. W jedną stronę (tj. od kontrolera do komputera) działa bezproblemowo, a w drugą niestety nie działa. Między kontrolerem a portem jest #include <avr/io.h> #define F_CPU 1000000 /* 1MHz zegar procesora */ #define CYCLES_PER_US ((F_CPU+500000)/1000000)...
Tak na oko wyglada ok. Mala rada tylko, do konfiguracji uzywaj takiego sposobu (asembler): ldi rTemp1,(1<<RXEN)|(1<<TXEN)|(... out UCSRB,rTemp1 Znacznie to ulatwia wychwytywanie bledow. Jedyne co mi przychodzi do glowy to "rozjechane" predkosci. Moze Atmega chodzi na wewnetrznym kwarcu 1MHz i dletego nici z pogaduszek z PC-tem....
Czy ma ktoś gotowy programik w C który powodowałby efekt jak w temacie posta? Napisałem w C programik który powoduje ze po wcisnięciu na kompie "1" zapala się dioda przyłaczona do jednego z portów a po naciśnięciu "0" gasnie. Wygląda to mniej więcej tak: #include <avr/io.h> #include <avr/pgmspace.h> #define F_CPU 1000000 /* 1MHz zegar procesora...
Jak napisali koledzy: w atmedze musisz włączyć zewnętrzny rezonator wysokiej częstotliwości. Domyślnie pracuje na wewnętrznym RC 1MHz. Jeśli korzystasz z BASCOM'owego programatora zerknij na ostatnią z zakładek.
czestotliwosc nie jest krytyczna i zawiera sie bodajrze w granicach od 100kHz w zwyż... wiec wystarczy że zrobisz dowolny układ na '51 podepniesz kwarc na 1MHz i pociagniesz z tego układu (a dokładniej z wyprowadzenia XTAL2) sygnał zegarowy i podlaczysz do Megi (w XTAL1). Pozdrawiam
1. Czy jest jakakolwiek możliwość sprawdzenia czy poprawnie połączony jest cały układ? Wizualnie, następnie woltomierzem na txd procesora i wyjściu MAX232. Powinno pływać. Możesz na chwilę sobie darować tego WAITa i wysłać na zmianę dłuższą serię chr(0) potem serię chr(255), co powinno dać wyraźne pulsacje napięcia na RS. 2. Czy może to być spowodowane...
Warto jeszcze przestawić zegar procka z domyślnego 1MHz na twój. FUSE bits. Może to być również przyczyna złego działania UARTa Nie nabijaj postów - autor wyraźnie napisał, że problem jest softwarowy, a nie ustawień sprzetowych i został rozwiązany.
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...
Czyli kolega ma kwarca 8MHz i pisze $crystal=8000000 ... $baud=9600 I nie bascom źle działa tylko nie czyta sie instrukcji i pdf od megi a tam jest jak byk napisane że nowa mega działa na oscylatorku wewnętrznym 1MHz czyli 9600/8=1200 jak kolega nie wierzy prosze wylutować kwarca a program i tak bedzie działał bo mega pracuje na wewnętrznym oscylatorku....
nie znam dokładnie C ale czy w tej linijce poniżej nie popełniasz błędu przypadkiem? UCSRC = (1<<URSEL)|( 3 <<UCSZ0); nie powinno to być tak? UCSRC = (1<<URSEL)|( 1 <<UCSZ0); druga sprawa to czy na pewno dobrze ustawiłeś ATmega8 na 8MHz fusikami ??? bo domyślnie ustawiona jest zdaje się na 1MHz pozdrówka
Nie masz racji Jdsoul.... wraz ze wzrostem częstotliwości (niech będą to krotności jak piszesz 1MHz) jest mniejszy błąd.... nie będę tutaj się rozpisywał dlaczego - pomyśl sam. Czytaj uważniej bo już pisałem, że niema sensu przekompilować na niepełne MHz ponieważ i tak jest znikomy błąd ( 0,16% ) - patrz tabela powyżej !!! Co do błedów parzystości to...
M8 ładnie przy tej prędkości 19200 śmiga na 4 lub 8MHz generatorze wewnętrznym. Jak nie zmieniałeś Fusebitów to działać nie będzie - oryginalnie taktowana jest 1MHz i błąd transmisji jest za duży.
ale jest taki problem ze terminal nie odbiera żadnych danych. To moze przestawić na wewnetrzny 1Mhz i spróbować wtedy
Jest to możliwe że masz niestabilny zegar. Zastosuj zewnętrzny kwarc. Ale nie aż tyle (8x) :wink:. Ja obstawiam że RC jest ustawione na 1Mhz.
ustawiałeś fusy na zewnętrzny rezonator ? bo z wewnętrznego zawsze będzie 1MHz. Oj... jeśli mówisz, że z wew. będzie zawsze 1MHz, to widzę, że nie studiowałeś manuala zbyt dokładnie. z wewnętrzengo rezonatora dostępne są chyba ze 4 częstotliwości. W tym 8MHz ;) Poza ty nie wysyłał by wtedy co 1s tylko co 8s ;P Bo funkcje opóźniające są oparte na częstotliwości...
jakiej przejsciowki? zlaczki DB9 ? Zbudowalem nowy uklad na ATmega8 ( bo taki akurat mialem), nowy MAX232N,stabilizator 7085, wszystko jak w dokumentacji podlaczone + po rezystorze 1kOhm pomiedzy TXD/T2IN i RXD/R2OUT ( zeby zabezpieczyc porty). Internal 1MHz zegar, UBRRL=12 dla 4800 z 0.2% bledem. Program taki jak pierwszy, tzn wysyla 16 bytow. Na terminalu...
Hej. No właśnie fajnie się coś robi o tej porze bo jest cisza i nikt głowy nie zawraca. Ja również nie będę ci zawracał. Wszystko co napisałeś to święta racja. Znalazłem trochę o tym wewnętrznym oscylatorze. Żeby było śmieszniej to częstotliwość pracy oscylatora różni się w zależności od roku i serii produkcyjnej i jest to około 8MHz. Jeżeli chodzi...
Spróbuj takiego kodu. U mnie on działa, tyle że na Atmega8535(nie mam ósmej atmegi luzem). #include <avr/io.h> #include <util/delay.h> static void uart(void) //konfiguracja UART wzięta z dokumentacji avr-gcc { #define BAUD 1200 #include <util/setbaud.h> UBRRH = UBRRH_VALUE; UBRRL = UBRRL_VALUE; #if USE_2X UCSRA |= _BV(U2X);...
Ale ja proponowałem 1000000Hz a nie 10000000Hz To jest 10x więcej! (przekopiowałem z postów-więc może się nie pomyliłem) Jeśli nie zmieniałeś fusebitów to daj: $crystal=1000000 Sprawdzam i liczę: 1MHz=1000000Hz. Uff. Może jeszcze nie mam ciężkiej sklerozy.
Atmega8 działa na wewn. oscylatorze 8MHz, nie zależy mi ani na jakości ani stopa błędów transmisji, chciałem wysłać kila znaków i jakieś odebrać. NIe ma ustawionych żadnych fusebitów. Jeśli nie ustawiałeś fusebitów to prawdopodobnie Atmega8 działa domyślnie na wewn. oscylatorze 1MHz, zmień w programie i sprawdź. Pozdrawiam
Piszesz, że masz kwarc 8MHz, w programie, że ustawione fabryczne taktowanie 1MHz. Jak masz fusy?
Dzięki wielkie za wskazówki. Tego akurat jeszcze nie znalazłem, aczkolwiek są 2 sprawy: 1) Przykład pod DMA nie działa. (w sensie nic się nie wyświetla na terminalu) 2) Przykład na wake się w ogóle nie kompiluje pod IARem ;) Jestem totalnym laikiem, aczkolwiek naprawdę bardzo mi zależy, żeby to zrozumieć i napisać. Zakładam, że port i MAX są dobrze...
aaa - no dobrze - być może próbujesz programować procka z farbycznym taktowaniem 1MHz. Ale kliknięcie klawisza sprawdź procesor chyba działa dobrze prawda ? Później jak chcesz coś zrobić przed zmianą taktowania na szybsze to musisz zaznaczyć PTAKA o nazwie "slow sck" robiłeś to ??? jeśli nie to zrób. Potem przestaw taktowanie na jakieś ludzkie ;) -...
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.
Oj "metki" (etykiety) i "kółka" (klipsy) nie zawierają żadnej informacji. To zwykły układ rezonansowy. W jednym ze stosowanych systemów są na 8,2MHz. Dezaktywacja możliwa jest tylko etykiet i polega na uszkodzeniu kondensatora w obwodzie LC - przebicie. Po jakimś czasie, od wyginania etykiety może jednak zacząć ponownie działać - efekty są znane :)...
Cóż, powiedzmy że klon ISPmkII jest chyba na początek najlepszy jeśli weźmiemy pod uwagę stosunek (jakość+możliwości)/cena. Dragon to dla zaczynającego zabawę (i nie planującego nic więcej poza zabawą/małymi-średnimi zleceniami) mimo wszystko nadmiar. Choć IMHO są to moje najlepiej zainwestowane pieniądze w narzędzia do procesorów. --- Ale jak mówię,...
Zobacz funkcję usart_inicjuj() tutaj: Widziałem już tę stronę wcześniej ;) jednakże zrobiłem tak jak pisałem, czyli: Wstawiłem cyfrę 6 zamiast wzoru na obliczanie UBRR, próbowałem czy działa - nie działało. Potem popatrzyłem do tablic z danymi wartościami UBRR dla danej częstotliwości i prędkości transmisji, błąd wynoszący dla 1Mhz i baud rate 9600...
Z jaka szybkością wysyłasz? Z oscylatorem 1MHz to z 9600 chyba max. Zmień może na 8MHZ i 38400 musi pójść
Sprawdziłeś jaki masz błąd prędkości uart dla rezonatora 4MHz . Poza tym jesteś pewny że dobrze ustawiłeś konfigurację cksel i nie pracujesz na wewnętrznym oscylatorze RC 1MHz . Większość błędów to źle skonfigurowany zegar taktujący mikrokontroler . poza tym pokaż kod bo bez niego to tylko gdybanie
Problem jest taki że sprzętowe bramki są szybkie i działają jednocześnie, symulowane na mikrokontrolerze muszą być wykonywane sekwencyjne i z konieczności będą nieoptymalne bo ich działanie różni się od sposobu realizacji na mikrokontrolerze. Gdybyś proponował wrzucenie tego do FPGA miało by to więcej sensu, a mimo to jakoś liczba programistów mikrokontrolerów...
Postanowiłem dziś zaprezentować pracę magisterską, jaką dziś obroniłem na Uniwersytecie Technologiczno-Przyrodniczym w Bydgoszczy (dawniej ATR). Jest to rozwinięcie pracy inżynierskiej, jaką prezentowałem w temacie: Jak widać urządzenie stanowi potrójną/podwójną superheterodynę. Zastosowana głowica SAT firmy Samsung nie posiada pętli PLL wewnątrz....
Z powodu objętości programu musze napisać w asemblerze troche rzeczy, i mam tu problem z transmisją na rs232. Niby cos wysyłą, ale terminal źle odbiera. Potrzebowałbym wyświetlić jakąkolwiek daną, 1 bajtową, w pętli co 1-2 sekundy, i to mi nie dziaą. w bascomie program testowy działą więc to nie wina rsa i max 232. Potrzeba mi w asemblerze odpowiedznika...
Podstawową składową będzie prędkość bitowa wybrana w danej transmisji a następne będą jej harmoniczne (całkowite wielokrotności), będą też: - składowa stała, bo sygnał jest niesymetryczny - składowe modulacyjne wynikłe z modulacji częstotliwości bitowej częstotliwością znakową (bo sygnał idzie paczkami) Nie wiem czy w zakresie MHz da się coś pomierzyć,...
Dobra ale po co go mam odlutować. Odlutuje i co z nim zrobić. Po co cokolwiek przestawiać skoro domyślnie jest ustawione. No toż ci napisałem o tym wyżej - czy ty czytasz wszystko ? A skoro tak - to jeszcze raz zapytam po co chcesz konfigurować z ATmegi tego nieszczęsnego BTM'a ? Częstotliwość miałem dobrze ustawioną na 1 MHz w makefile i tak się też...
Odbiornik: Pierwszy wzmacniacz jest tak na prawdę konwerterem I/U. Pod wejście odwracające podłączam fotodiodę PIN BPW45. Fotodioda ma odbierać sygnał ASK(OOK) o nośnej 1MHz i bitrate 115.2 kbit/s(max RS232). W sprzężeniu zwrotnym przetwornika I/U wstawiam filtr dolnoprzepustowy. Przy założeniu 1,5 mA (około tyle wygeneruje dioda przy oświetleniu jej...
Miałem okazję przetestować modemy Konfiguracja Modem konfigurujemy ustawiając na wejściach M0 i M1 stany logiczne wysokie i przesyłając przez UART odpowiednie ciągi konfiguracyjne np. z mikrokontrolera. Możemy także wykorzystać konwerter USB<->RS232 (3.3/5V) i oprogramowanie Konfiguracja to zaledwie 5 bajtów. Rozpoczynamy ciąg od 0xC0 (jeżeli...
tak dla ścisłości - wewnętrzne to są wbudowane ale oscylatory a nie rezonatory, za co "płaci" się pewną małą nidogodnością jaką jest to, że nie generują one tak stabilnej częstotliwości taktowania jak właśnie rezonatory zewnętrzne. Jednak do znakomitej większości szczególnie amatorskich ale i zaawansowanych projektów taka dokładność wewnętrznych oscylatorów...
Dokładnie - skoro sam widzisz, że wyłączenie podziału taktowania przez 8 (CKDIV8) spowoduje ci procent błędu na poziomie 0,2 to czemu nie korzystasz z taktowania procka 8MHz z wewn oscyla tylko uparcie stosujesz 1MHz ? ;) Przecież zastosowanie 8MHz to same korzyści a dla ciebie od razu poprawna transmisja przez RS232 na prędkości 9600 Zamiast samemu...
Przede wszystkim jak na początkującego przystało popełniasz/powielasz ten sam błąd i zachowanie. Zapewne z uwagi na strach przed słynnym rzekomym zablokowaniem procka boisz się przestawić fusebitów na jakieś normalne taktowanie, np 8MHz. Dlatego działasz na fabrycznym 1MHz. A przy tej okazji wybierasz do komunikacji UART taką prędkość, która przy tak...
Odłączyłem procesor zwarłem piny T1IN i R1OUT i mam echo.(uzyłem programu Braya) Przy uzytym programie dotyczacym Rejestru Osccal nadal nic program chodzi i wysyla mi na com rozne krzaki a teraz same zera. Co moge zrobic teraz? Jak masz echo za MAX232 to już jesteś coraz bliżej ;) Teraz oznacza to, że możesz mieć problem w procku tzn w programie i...
Jest kolejny postęp. Program działa prawidłowo przy ustawieniach: prędkość 4800, wewnętrzny oscylator 1MHz. Wyższe prędkości lub wyższa częstotliwość oscylatora - krzaczki. Na kwarcu 8MHz - krzaczki. No i po raz kolejny zgadłem ;) - czyli masz ŹLE FUSEBITY USTAWIONE a innymi słowy - masz je w ogóle nie ustawione. I nie dziw się, że przy 1MHz działają...
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ą...
Prąd pobierany przez mikrokontroler można zmniejszyć poprzez zmniejszenie prędkości zegara rdzenia - "CLKPR – Clock Prescale Register" (strona 35). Dane najlepiej było by zbierać w porcjach po 512B, tyle co sektor karty pamięci. Sam sposób przechowywania danych jest uzależniony od cech próbkowanego sygnału - jeśli wszystkie próbki są niezależne,...
Dotyczy budowy wyświetlacza LED dwukolorowego, problem z wyborem CPU.?? Widzę, że jesteś programistą samoukiem, bo nie potrafisz optymalizować kodu programu. W bascom da się zrobić wydajny kod, bez asemblera, ale wymaga to już sporej wiedzy i umiejętności, lecz przyznaję że np. C jest tutaj trochę lepszy. Do budowy wyświetlacza 8*80 nie trzeba szybkiego...
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...
PANOWIE ;) NOWOŚĆ w MkAvrCalculator ;) Proszę sobie zassać najnowszą wersję (nadal build 57), od teraz można programować procki za pomocą zwykłej przejściówki FT232RL w trybie BitBang Mode. Wystarczy z listy programatorów wybrać pierwszy z nich o nazwie ATB-FT232R !!! Po prawej ukaże się informacja jakie piny RS232 układu FT232 należy podpiąć do ISP...
Witam, Zbudowałem układ w oparciu o mikrokontroler ATmega8 oraz układ scalony FT232. Oba układy są sprawne i działają poprawnie. Niestety jak się okazało prawidłowy przesył danych z mikrokontrolera do terminalu w komputerze jest możliwy dla wbudowanego rezonatora o częstotliwości pracy 1MHz. Chciałem dołączyć zewnętrzny rezonator 16MHz i pomimo prawidłowej...
Głównie różnice są takie: 1. zewnętrzny rezonator jest dokładniejszy i mniej podatny na wpływ warunków zewnętrznych od wewnętrznego układu RC (dzięki temu można dokładniej mierzyć czas, generować dokładniejsze baudrate dla transmisji RS232 itp.) 2. co do poboru prądu to sam kwarc lub jego brak nie zmienia znacząco w bezpośredni sposób poboru prądu -...
GienekS ma racje. Sterowanie przeplywem jest bardziej programochlonne, ale za to minimalizuje rozmiary bufora danych. Do realizacji takiego ukladu bedzie potrzebny procek z dwoma UARTami lub dwa procki z pojedynczym UARTem sprzetowymi. Watpie czy przy predkosci prawie 1Mb/s da sie softem rozwiazac odbior, stad sugestia uzycia sprzetowego UARTu. Buc...
Napisałem funkcję zamieniającą dobule na char void USART_wyslanie(char znak) { //Sprawdzanie czy bufor jest pusty while(!(UCSRA & (1<<UDRE))){&... UDR = znak; //while(! (UCSRA & (1<<TXC)) ){} } void Double_To_String(double liczba, int precyzja,...
Witam wszystkich serdecznie ; ) Od niedawna rozpocząłem swoją przygodą z mikro-kontrolerami ;] Zakupiłem płytkę startową EVBavr05 z Atmega16 i wgrałem bootloadera żeby móc sobie pięknie programować mój układ przez rs232. Uczę się chyba z dość popularnego kursu online: i z niego właśnie pochodzi poniższy kod: [syntax=c]/* "led.c" - programik do testowania...
NA WSTĘPIE Wiem, wiem, ktoś zaraz powie, że układów aktywnego obciążenia nie sposób zliczyć i kolejny taki projekt przyczynia się do klęski urodzaju… 8-) Mimo wszystko chciałbym przedstawić projekt aktywnego obciążenia. Aktywne obciążenie samo w sobie nie jest czymś szczególnym, ale obudowane w odpowiedni układ elektroniczny, nabiera niebanalnego...
nieee no kolego - to $crystal = 16000000 nie służy do ustawiania kwarcu w prockach. masz w ogóle podłączony jakiś kwarc do procka zewnętrzny???? teraz to zrobiłeś małą masakrę no tego to bym nie przypuszczał, bo skoro już działasz na Atmega128 (w sumie to samo co teraz robisz spokojnie można byłoby robić na Atemga8) to myślałem, że temat fusebitów i...
I ooo to właśnie chodzi - a jeśli potrzebujemy dużych i pewnych na 100% prędkości RS232 - to wtedy zachodzi jedna z istotniejszych potrzeb aby zastosować w ogóle kwarc zamiast oscylatora. I wtedy też na potrzeby akurat transmisji RS232 stosuje się tzw "kwarce przyjazne dla RS232" Jak sobie zajrzysz na ostatnią stronę rozdziału UART w dowolnej nocie...
(...) Teraz nieraz mikrokontrolery programujemy żeby mieć jakieś brzęczyki, przekaźniki, odczyty temp. itp. itd. A tam A/D wbudowane, generator dźwięku wbudowany, cała masa 64KB RAM ;) Można programować "w bascomie" (tak, specjalnie tak napisałem) albo grzebać po rejestrach w asm. Jest RS232C, jest możliwość podłączenia zewnętrznej pamięci... Jest...
Witam proszę o pomoc po dłuższej przerwie wracam do prckow AVR (ATMEGA 32) Próbuje uruchomić UARTA >> plus terminal na konwerterze po USB. Wyświetlam sobie testowo literę 'Z' a zamiast tego leci mi ")" nawias. Kombinowałem już z wszystkim podmianą kwarcu , zmianą taktowania , sterowników, do przejściówki USB > RS232 (HL340) pod WIn7 Nie wiem...
Już śpieszę z wyjaśnieniem o co chodzi w tak empirycznym temacie. A wiec, uznałem, że najwyższa pora by moja Atmega32 porozmawiała sobie z PC. Chwyciłem w tym celu za lutownice i napadłem na bezbronnego max232. Po kilkugodzinnych bojach powstał układ mający połączyć uC z PC. Mikrokontroler miał wysyłać co sekundę „to jest test”. Może i to...
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...
Witam Jako, że bardziej skłaniam się ku uC z serii 51' moje propozycje (bardziej się nadają niż znana 51-ka): ADuC814 - 1,3MIPS, 8kB EEPROM, 3mA(at)3V i osc. 2,1MHz () ADuC841/842/843 - 62kB EEPROM >16MIPS, 4,5mA(at)3V i osc. 2,1MHz () Pamięć danych: - wewnętrzna Data RAM czy Data EEPROM uC nie wystarczy - dla funkcji przypomiacza raczej tak, ale dla...
Witam Od niedawna jestem posiadaczem ATmega32 a programy pisze w C wykorzystując do tego WinAVR, controler jest ustawiony na clock 1MHz Problem pojawił sie kiedy postanowiłem nawiązać komunikacje z pomocą portu szeregowego rs232 Wszystko szło pięknie kiedy używałem prędkości transmisji do 4800ul włącznie, lecz kiedy chciałem zwiększyć prędkość do 9600ul...
Czy ktoś może coś więcej powiedzieć na temat tych urządzeń? Wiem, że są to mało precyzyjne urządzenia ale czy któryś z nich jest lepszy od drugiego? Największą zaletą jest to, że są tanie, ale czy sprawdza się w domu do prostych pomiarów i będzie dało się coś z tego pomocnego odczytać? AVT2999 wielofunkcyjny zestaw pomiarowy oscyloskop: dwa kanały o...
3. AUTOMATIC FEQUENCY COUNTER type PFL-30 CZĘSTOŚCIOMIERZ AUTOMATYCZNY typ PFL-30 producent: KABiD ZOPAN Polska nr seryjny: 90737 rok produkcji: 1981 5 lampek nixi, przełacznik zakresów 10MHz, 1Mhz, 100kHz, 10kHz, 1kHz, 100Hz i AUTO. Z tyłu wyjście na drukarkę , wyjście 10Mhz i wejście zewnętrznej bramki GATE DRIVING CENA: 99zł 4. DEKADA KONDENSATOROWA...
3. AUTOMATIC FEQUENCY COUNTER type PFL-30 CZĘSTOŚCIOMIERZ AUTOMATYCZNY typ PFL-30 producent: KABiD ZOPAN Polska nr seryjny: 90737 rok produkcji: 1981 5 lampek nixi, przełacznik zakresów 10MHz, 1Mhz, 100kHz, 10kHz, 1kHz, 100Hz i AUTO. Z tyłu wyjście na drukarkę , wyjście 10Mhz i wejście zewnętrznej bramki GATE DRIVING CENA: 99zł 4. DEKADA KONDENSATOROWA...
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...
Witam . Napisałem ( prawie) sobie na ww procesor program w asm i bascomie który ma robić za zamek otwierany kartą . W bascomie wszystko działa w 100 % według założenia jednak w asm mam taki problem że układ sam zmienia swoje taktowanie (ponad 2x) przez co wszystkie funkcje czasowe nie pracują jak powinny . Nie było by w tym nic niezwykłego ( ustawiony...
Witam, w styczniowej EdW ukazał się bardzo fajny (moim zdaniem) projekt okładkowy: "Minikombajn pomiarowy", który jest połączeniem kilku urządzeń typu "oscyloskop", wobulator, analizator stanów logicznych i jeszcze kilku ciekawych funkcji. Oczywiste jest to, że takie "cuś" nigdy nie zastąpi porządnego sprzętu pomiarowego, ale tak się składa że od dłuższego...
Atmega jest podłączona bezpośrednio do GPS-a. Na razie zwiększyłem zegar do 2 MHz-ów. Nie do końca jestem przekonany do tego kodu... Może to jego wina, że wyświetla takie głupoty? Ja tam nie wiem dlaczego wewnętrzny osc. RC miałby uniemożliwiać poprawne działanie UARTA. Jeśli procesor ma pracować w temperaturach zbliżonych do temperatury popularnie...
niedawno miałem sytuację, ze 2 attiny z różnych serii uruchomione na wewnętrznym oscylatorze 1MHz "nie dogadały" się bo tak duże były różnice czasowe ( WTF ) To akurat twój błąd, bo producent podaje tolerancję wewnętrznego generatora i jasno z tego wynika, że nie powinien on być stosowany do taktowania transmisji UART. Reszta uwag jak najbardziej słuszna....
Piszę dla tych którzy się męczą z tym tematem. Układ testowy zmontowany na "piechotę". [syntax=c] /* * Mini radio na układzie RDA5807M * * Created : 2018-12-25 * Author : dasej * * Atmega644p 18.432MHz power 3.3V */ #define RDA5807M // zablokuj tą linię a uruchomisz obsługę dla TEA5767 bez RDS // układ ma trzy adresy TWI // RDA5807M = 0x10; // adres...
Witam Czy ktoś składał YAMPPA3 na ATmega8515,bo ja go właśnie skończyłem i mam problem .Wgralem program testowy D2 błyskała jak w opisie z EP, ale brak komunikacji przez RS232 bo podobno ATmega8515 ma właczony wewnętrzny oscylator 1Mhz i nie zgadzają sie prędkości uarta. A jeszcze zmieniłem ustawienia FUSE i od tego czasu programator Yapp juz nie widzi...
Witam Czy ktoś składał YAMPPA3 na ATmega8515,bo ja go właśnie skończyłem i mam problem .Wgralem program testowy D2 błyskała jak w opisie z EP, ale brak komunikacji przez RS232 bo podobno ATmega8515 ma właczony wewnętrzny oscylator 1Mhz i nie zgadzają sie prędkości uarta. A jeszcze zmieniłem ustawienia FUSE i od tego czasu programator Yapp juz nie widzi...
:arrow: h-doc, Texas wciaz rozwija rodzine MSP430. Sa dostepne uklady w obudowach SO-20 i wieksze az do TQFP144. Wraz ze wzrostem liczby pinow wzrasta rowniez ilosc RAM, FLASH, ukladow PWM, licznikow, portow komunikacyjnych ( uart, spi, iic ). Zaleznosc oczywiscie nie jest scisle liniowa, ale ogolnie im wieksza obudowa, tym bogatsze wnetrze. Jest kilka...
Czy ten programator z programem commhex (RS232) będzie pracował z komputerem PentiumII 466? Zmontowałem taki i nie mogę uzyskać komunikacji, wszystko jest wg schematu jaki zamieścił Wiki na Forum. Eksperymentowałem z kwarcami od 1MHz do 20MHz i nic. Procesor generuje przebiegi, jest transmisja pomiędzy epromem a TMS. Może jest jakaś sztuczka w tym programie?...
Vic384 napisal: czy nie lepiej by bylo zrobic ten oscyloskop pod USB ?.Osobne male pudeleczko, jeden kabelek do komputera i nie trzeba się bawic z kabelkami podlaczonymi z tylu obudowy - ktora czasem stoi pod stolem. masz racje lepiej by bylo, ale to nie jest takie proste....wole zrobic cos na isa a puzniej zobacze... moim celem nie jest zrobienie oscyloskopu...
a moglbys jeszcze opisac sposob podlaczenia nadajnika pod rs232? z jaka czestotliwoscia nadajesz? i jak sobie radzisz z odbiorem przy uzyciu mikrokontrolera? czy udalo ci sie ustawic czestotliwosc na rowna dokladnie czestotliwosci nadawania? moj AVRek ma datasheecie napisane ze jego oscylator daje 1Mhz z dokladnoscia 3% co srednio mnie zadowala wiec...
moge tylko potwierdzic - jesli chodzi o prosty miernik czestotliwosci z jednym wejsciem oparty o szybki uP (AVR , PIC) wyswietlajacy wynik na znakowym LCD to w sieci czy czasopismach mozna znalezc bez klopotu. Z takich wielofunkcyjnych (czestosciomierz 1mHz ... 1.2GHz, czasomierz (okresomierz) 1ps ... 4000s , obrotomierz, licznik zdarzen (impulsow),...
:arrow: _jta_: W tym układzie z EP jest faktycznie mowa o kwarcu 1MHz - u nas są w sklepie po 9PLN/szt - takie wielkie, radzieckie. :) Jednak ten układ do transmisji jest sterowany z RS232 (max. 115kbit), a nie z karty sieciowej. Pozdrawiam.
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....