Co może być przyczyną tego, że zamiast wysyłanego "hello" odbieram w termianlu "hhhhheeeeeellllllllllllllllllllloooooo"... Dodam, że przy wyłączonym DMA nic takiego nie ma miejsca. Nie wnikam w konfigurację DMA i USART, ale logika tego fragmentu programu jest dziwna. Mam wrażenie, że funkcja wysyłająca tekst (usart_dma_str) jest wywoływana w przerwaniu...
Witam, mam mały problem. Napisałem program mający za zadanie wysyłać przez USART w pętli znak. Wgrałem program podłączyłem wszystko na płytce stykowej przez max232 z portem COM w komputerze, odpaliłem RealTerma. Jednak po włączeniu Atmegi zamiast oczekiwanego znaku zapełniającego konsolę w Realtermie ekran zapełnia się napisem (nul). I nie wiem czy...
Witam ponownie, dziękuję za naprowadzenie. Jednak od razu nasuwają mi się kolejne pytania i nowo powstałe problemy. Odpowiadając na pytania: Freddie Chopin - założyłem, że zmienna typu double istnieje, ponieważ zadeklarowałem ją sobie i przy sprawdzania kodu debugerem w podglądzie zmiennych widniał właśnie mój wpis - zmienna typu double. A co do wysyłania...
Witam. Mam kłopot staram się wyświetlić na lcd lub wysłać przez USART zmienną która powinna przyjąć wartość około 70000 - 100000 ... Mam wielkiego zonka :-( Teoretycznie definiuję zmienną jako volatile uint32_t licznik = 70000; a na lcd dostaję jakieś dziwne odczyty ... to samo na rs... używam takiej funckji : sprintf_P((char*)tekst, PSTR("Licznik:...
A co poprzedni kolega ma na myśli mówiąć o klamrach? Poewnie chodziło o { i } :idea: Ok, pobawiłem się malloc-iem, i przyznaję że bez efektów. Mały przykład.. int funkcja() { int stan=0; char *danee = malloc(140*sizeof(char))... memset(danee,'1',140); //memset(danee,'\0',140); //strncat(danee,"blablabla"...
Chodzi o deklarację zmiennej data W tym przypadku wystarczy, że bufor data zadeklarujesz jako static. Masz tu jeszcze kilka błędów. Funkcja receive zwraca char a Ty próbujesz zwrócić char *. Dodatkowo w main próbujesz przypisać to co zwraca receive do tablicy buffer (co sie nie powinno skompilować). Spróbuj tak: [syntax=c] static const unsigned char*...
OK. Ja też jestem w pracy i nie zawsze mogę o tej porze coś robić. Ale dalej: Do testowego używania UARTA przyda się "podmienienie" standardowej obsługi funkcji printf na taką, która wysyła dane przez UARTA do naszej Windowsowej konsoli. Możesz to wpisac standardowo przed obsługą assert_failed() /** * (at)brief Retargets the C library printf function...
Spróbuj wyświetlić tekst polecenia przed porównaniem go z tablicą nazw poleceń. Niestety, ale właśnie to robię i to nawet w kodzie który zamieściłem fprintf wysyła tekst na jeden z dwóch portów USART z których korzystam. Tekst wyświetla się właściwie, a tablica nie zwraca indeksu czyli strcmp_P nigdy nie jest 0. W samej pętli z porównaniem też wyświetlałem...
a dobrze masz skonfigurowany w procku usart? tzn bity parzystości itp. a poza tym to co wysyłasz tym portem?
ale to już nie za bardzo rozumiem. Co daje szybki uC jeśli używasz Delay, gdzie para idzie w gwizdek albo transmitujesz dane w programie głównym, używając czekania aż układ (np usart, spi) wyśle dana zamiast przerwań lub DMA? AVR raczerj nie daje dużych możliwości nadawania na przerwaniach. Aby, np taki usart, usb, itp mogło transmitować duże porcje...
Witam, wykonałem układ z ATmega88, który m.in. wykorzystuje wyświetlacz alfanumeryczny VFD. Mikrokontroler poprzez USART wysyła polecenia i znaki w oparciu o następujący kod: USART_Transmit w formie: Send_String w formie: Send_String tablicy znaków powoduje wystąpienie błędu z powodu, jak mniemam, konfliktu typu zmiennych: error: incompatible types...
"Do While Not Zezwolenie : Loop" Ta pętla zabezpiecza przed nałożeniem się na siebie kolejnych wywołań, tak sobie pomyślałem. Oczywiście przy takim jak ten sposobie przesyłaniu danych musi być pełana synchronizacja nie tylko parametrów UART ale też interwałów przesyłania. Tzn. nie można wysyłać bajtów częściej niż może je odebrać i przetworzyć Tiny....
Wklejaj kod jako tekst, a nie obrazki. Nie pokazałeś istotnych fragmentów - np deklaracji liczników. W kodzie, który pokazałeś masz bardzo istotny bład - przekazujesz do funkcji wysyłania (która nie blokuje) wstażnik do lokalniej zmiennej. Jest to klasyczny przykład tzw. Undefined Behaviour
http://obrazki.elektroda.net/1_126476553... Witam :) Prezentowany w tym temacie projekt jest realizacją pewnej idei - elektronicznego długopisu ściągi z wbudowanym wyświetlaczem, pamięcią itp. Długopis powstawał w czasie od września do grudnia 2008. Projektu nie będę rozwijał, niedokończonego kodu nie udostępnię. Kontynuacji nie będzie, ale...
Yoshi_80 : Wytłumacz może co dokładnie rozumiesz pod pojęciem "zapętlić" - czy wysyła cały czas tylko pierwszy znak (restartowanie się procesora przy wychodzeniu z funkcji USART_Transmit spowodowane istnieniem stosu w obszarze niezapisywalnym - najczęściej ustawiony fusebit związany z kompatybilnością z innym prockiem) czy powtarza całość (może jawnie...
Zmieniłem program, uwzględniając wcześniejsze uwagi. Na początku skupiam się tylko na wysyłaniu danych. Na początku załączam taktowanie portu PD: Następnie konfiguruję wyprowadzenia PD5 i PD6 - linie TX i RX: Później konfiguruję przerwania - kontroler NVIC: Następnie konfiguruję USART: i w pętli głównej wywołuję funkcję: Dodano po 1 Zmieniłem USART2...
1. Ja do STM32 (tutaj pewnie też będzie tak samo) z powodzeniem używałem kabla od jakiejś starej Nokii z uciętą wtyczką i kabelkami przylutowanymi do pinów USART. Ten kabel był zrobiony na bazie PL2303. 2. Mierzysz temperaturę, potem wysyłasz ją jako tekst przez port UART. Jak zmierzyć (to jeszcze zależy czym mierzysz) i jak wysłać dane przez ten port...
Witam od dwóch dni mam problem z USART na stm32f4discovery. Otóż napisałem sobie prosty programik na bazie tego przykładu pod stm32f4discovery ze strony Freddiego Chopina, tyle że sam napisałem sobie konfigurację zegarów itd. Zrobiłem konfigurację USART 6, napisałem funkcję do wysyłania jednego bajtu oraz całego słowa i wrzuciłem sobie wysyłanie bajtu,...
Druga kwestia dotyczy softu. Chciałbym aby moja aplikacja odbierała znak po znaku z RxT i przechowowała go w tablicy w taki sposób: W przerwaniu należy odebrać znak i umieścić go w buforze - nic więcej. Analizą tekstu można się już zająć na spokojnie w pętli głównej (z oczekiwaniem lub real-time). A, i większość terminali zamiast "\n" czy nawet "\r\n"...
ja mam taki problem że odpowiada mi śmieciami. tzn wysyłam z atmegi8 tekst Hello World. i otrzymuje na pc tekst ktory posiada za kazdym razem podobne smieci. np w miejscu gdzie powinno byc "ll" sa dwa takie same znaki podobnie jak w HW mam dwa 'o' to tez dostaje w tych miejscach takie same znaki. w dokumentacji pisze ze przy polaczeniu 9600 jest blad...
No coż transmisja działa na skompilowanym programie aż miło. Teraz przechodzę do napisania programu pod moje potrzeby. Na początek chciałem przenieść program napisany w starszej wersji kompilatora na nowszy. Chciałem, bo niestety mi się to nie udało. :( Naniosłem poprawki i skompilowałem program. Po wgraniu na uC silnik kręci się dość wolno, a powinien...
Tekst z pamięci uC jest wyświetlany prawidłowo, umiem wyświetlić teksty i liczby,... Nie jestem tego taki pewien, skoro chciałeś wyświetlać odebrany bajt w nieprawidłowy sposób. W dodatku nieprawidłowo definiowałeś F_CPU, co całkowicie rozwalało obsługę LCD. Wysyłałeś dane terminalem? Tutaj znajdziesz kolejny przykład: http://mikrokontrolery.blogspot.com/2011...
Witam juz dziala :-) poprostu bylo trzeba uzyc polecenia fdevopen Uart inicjalizuje tak ->UCR = (1<<RXCIE)|(1<<TXEN)|(1<&... UBRR=0x17; procedurke wyslania pojedynczego znaku nazwalem nie putchar tylko UART_putchar ale cos mi sie wydaje ze zabardzo skomplikowalem sprawe :-) Mam jeszcze jedno pytanie jak zrobic obsluge 1wire ?...
[syntax=c] int main(void) { RCC_Conf(); NVIC_Conf(); GPIO_Conf(); USART_Conf(); TIM_Conf(); putstr( "Inicjalizacja I2C\n\0"); I2C_Conf(); while (1) { Wait(); putstr( "Sprawdzam zajetosc magistrali\n\0"); while( I2C_GetFlagStatus( I2C1, I2C_FLAG_BUSY) == SET); putstr( "Magistrala wolna\n\0"); putstr( "Generuje START\n\0"); I2C_GenerateSTART( I2C1, ENABLE);...
Witam, z góry przepraszam jesli pytam o bzdure. Mam taki oto kod w C: #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <lcd.h> #define CPU_Hz 1000000 #define BAUD 4800 #define UBRR CPU_Hz/16/BAUD-1 void USART_Init( unsigned int baud ) { /* Set baud rate */ UBRRH = (unsigned char)(baud>>8);...
Przejściówka działa, ale odkryłem, że tx działa poprawnie, a rx już nie. Jak wysyłam komendę AT+CUSD=1,"*100#"<cr><lf> zwraca dłuższy tekst z przerwą po środku, tak samo jak jest w telefonie. Mógłby ktoś sprawdzić ten schemat czy nie brakuje jakiegoś podciągnięcia rx lub coś innego z tym rx można wykombinować Komputer2(rx tx) i komputer1(zasilacz)...
A wiesz czym różni się czudzysłów od apostrofa w C ??? Tu robisz straszny i kardynalny błąd , który ci wszystko rozwala a nie procedura do wysyłania stringa. char zdanie[] = "Ala ma kota!"; tak deklaruj sobie stałe teksty, bez wpisywania długości w nawias kwadratowy bo kompilator sam sobie obliczy i doda jeden znak na końcu na ZERO,...
(at)ElektrodaBot /* Program realizujący obliczanie i wysłanie przez moduł HC-05 (Bluetooth z interfejsem SPP, czyli RS-232) wyniku funkcji kwadratowej y = 0.3187x^2 + 2x - 7 na podstawie x odebranego wcześniej także za pomocą HC-05. Szczegóły: http://mikrokontrolery.blogspot.com/...
Witam. Steruję z procesora XMEGA modułem WiFi ESP8266 + NodeMCU v2 (komunikacja za pomocą UART). Wysyłam w ten sposób komendy w języku LUA do modułu. Przykład widać poniżej: https://obrazki.elektroda.pl/1828732500_... Próba wysłania wartości zmiennej nie działa (nie widzę żeby docierało coś na terminal na którym prowadzę podsłuch):...
Witam, Próbuje zrealizować odbiór oraz nadawanie danych, przez USART. Chcę odbierać wartości wysyłane z PC do cpu do trzech różnych zmiennych oraz wyświetlać w konsoli wartość jednej zmiennej. Spróbowałem, to zrealizować w przerwaniach (na razie bez wykorzystania DMA, później oczywiście wykorzystam do tego DMA, ale chciałem przećwiczyć w przerwaniach)...
Witam Znalazłem na naszym szanownym forum kod w C do obsługi portu RS232 (na PC): #include <windows.h> #include <stdio.h> int main() { HANDLE hCom; //uchwyt portu DCB dcb; //konfiguracja portu BOOL fSuccess; //flaga pomocnicza BYTE RS_buf; //bufor danej DWORD RS_ile; //ilosc bitow wyslanych //otwarcie portu COM1 z prawami RW...
Witam, Mam pewien problem powiazany z UARTem pod atmega8l... Otoz mam pewnien program ktory pieknie dziala pod attiny2313(UART sprawny, komunikacja rs232<=>pc tez dziala dobrze). Problem narodzil sie, gdy chcialem przeniesc ten program na atmege8l... Podejrzewam, ze problem lezy we flagach... Nie znam sie jeszcze na tyle dobrze na C, zeby problem...
Witam serdecznie. Niedawno postanowiłem przesiąść się z Bascoma na C. Postanowiłem napisać bufor kołowy do wysyłania znaków przez USART. Znaki niby się drukują, ale, jeśli rozmiar bufora jest ustawiony na 2 bajty to po drugim znaku dostaje "śmieci", jeśli na 3 bajty, to po trzecim, itd. main.c http://obrazki.elektroda.pl/2199292400_1...
Program ma spełniać prostą funkcje. Odczyt z ADC i wysłanie tej wartości do terminala po UARCIE. Planuje by efekt koncowy tego fragmentu wyswietlal na terminalu, wartość z adc oraz tekst poniżej załączam inicjalizacje uarta oraz dwie funkcje wysylające. [syntax=c] void UART_sendbytes(char * bajty, int count) // wysyłanie jednego bajtu { // aby ograniczyć...
Witam, mam problem z nawiązaniem połączenia przez układ MCP2200. Jest to konwerter USART=>USB. Korzystam z programu z strony: http://mikrokontrolery.blogspot.com/2011... Kod programu: http://obrazki.elektroda.pl/3793960700_1... Wszystko robię tak jak jest opisane na stronie, po podłączeniu układu...
Dane z przerwania RX odbioru Uart jeszcze nie są obsługiwane ale będą, dlatego przerwanie jest aktywne lecz nie wykończone. Co do ciekawostki: if(pomiary[z]==0){ //czy to koniec takstu w tablicy pomiary[z] = 0; //znak końca ciągu tekstu w tablicy zostało z poprzednich prób i zapomniałem usunąć. Ostatecznie funkcja będzie wyglądać: void wyslij_pomiary(void){...
Hej, Próbuje na płytce STM32F3 uruchomić komunikację z PC po USART. Działa mi TX bo w main-ie mam wysyłanie przykładowego tekstu i działa prawidłowo. Niestety problem jest gdy wysyłam dane z terminala do STM - brak efektu przerwania. Nie jest to problem kabelków bo je kilka razy zamieniałem i dalej brak reakcji. Prędkość jest dobra bo prawidłowo odczytuje...
Na razie ważniejsze jest dla mnie włączenie obsługi USART2 więc proszę o pomoc w tej kwestii. Po zmianie kodu na ten: [syntax=c]RCC_AHBPeriphClockCmd(RCC_AHBP... ENABLE); RCC_APB2PeriphClockCmd(RCC_APB1Periph_US... ENABLE); void send_string(const char *str) { while (*str) { while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); USART_SendData(USART2,...
Witam, właśnie przerabiam kolejne ćwiczenie z książki J. Dolińskiego, ale przechodząc do rzeczy... Chcę wysłać kolejno w pętli za pomocą funkcji "WyslijTekstROM" 3 kolejne stringi, jednak przy wysyłaniu pojawia się następujący problem, że tylko ostatni string wypisywany jest na terminalu cały, a 2 początkowe są poucinane. Sądzę, że problem może leżeć...
Na przykład dla kwarcu 16MHz i prędkości 38,4bps, do PC wracają krzaki... Niestety to niemożliwe szczególnie jeśli korzystasz z zewnętrznego kwarca żeby przy tej prędkości wracały ci krzaki. Zdecydowanie coś źle robisz jeśli chodzi o samo podejście do wysyłania danych do PC, echa itp Można by to było zrozumieć w przypadku taktowania z wewnętrznego...
Tak TEST do GND i jak mówię już spotkałem się z problemami u innych, gdy pozostawiali go wiszącego, no ale widać u ciebie jest całkiem coś innego. Tak się zastanawiam tylko jak to jest? Jak ty to testujesz że ci takie dziwolągi wychodzą jak opisujesz. Weź ty na czas testów daj sobie spokój z jakimś przesyłaniem godzin czy minut na żądanie z PC i odpuść...
W książce Tomasza Francuza "AVR Praktyczne projekty" znalazłem bardzo przyjemny sposób na użycie USART w XMEGA posługując się fprintf lub fscanf. Niestety po przejściu na DMA okazało się, że nie da się tak łatwo zastąpić fprintf przy użyciu funkcji wysyłającej dane do bufora i dalej przez DMA do komputera. Znalazłem inny przykład w sieci z wykorzystanie...
http://obrazki.elektroda.pl/7969630300_1... Najprostszym rozwiązaniem było kupienie FT232, ale w wyniku porównania jego ceny z ceną ATmega8 nie było ono zbyt ekonomiczne. Dlatego autor postanowił zaprojektować konwerter na mikrokontrolerze. A jak jest już mikrokontroler, to sam USART wydaje się minimalistycznym rozwiązaniem. Stąd pomysł...
no tak, no to ja to rozwiązałem z multiplexerem ręcznym w postaci przełącznika, bo już nie mogę pozmieniać PCB, ale ok - rozumiem że inaczej nie da rady... A teraz tak, próbuję się skomunikować , i coś mi nie działa... próbuję normalnie konfigurować coma (tak mi działało gdzie indziej) : [ code ] Config Com1 = 9600 , Synchrone = 0 , Parity = None ,...
Piny ADC jako cyfrowe I/O tak. Piny I/O jako wejścia ADC nie. Cała sztuka na otrzymanie poprawnej odpowiedzi leży w umiejętności zadawania pytania. "k9mil" -podał poprawną odpowiedź, stosownie do zadanego pytania . Hmm, to dziwne, bo na stronie arduino.cc jest napisane co innego, a mój angielski nie jest na tyle zły żeby źle zrozumieć poniższy tekst....
W VB mam takie funkcje do wysyłania i odbierania danych RS232 Dodano po 1 Zmieniłem funkcję odbierania danych w VB i zaczęło się ściągać. Dodano po 1 W zasadzie opanowałem transfer danych w obie strony. Pozostał problem z wyświetlaniem na wyświetlaczu LCD kodów znaków zamiast znaków (funkcja 'itoa (data,str,10);LCD_WriteText(str);' ).
Witajcie moi drodzy. Chciałem zrobić komunikację po RS232, na początek w jedną stronę - z atmegi do komputera. Niestety, ciągle pojawia się taki błąd: http://obrazki.elektroda.pl/4311460800_1... Korzystam z zewnętrznego kwarca 16MHz bez kondensatorów. Takie mam fuse bits: http://obrazki.elektroda.pl/7171078000_1... Podłaczenia...
Witam, zamierzam pomiędzy dwiema Atmegami32 przesłać pomiar temperatury, przewodowo, za pomocą SPI. Linie MISO, MOSI, i SCK podłączyłem ze sobą, SS mastera jest na masie, SS Slave'a także. Temperaturę przez pewien czas przesyła prawidłowo, jednak po pewnym czasie, na wyswietlaczu Slave'a sa glupoty, jak odłączę na chwilę kabel SS Slave od masy i znowu...
A mógłbyś mi jeszcze pomó w takim czyms? ; Mam problem. Pisze program do komunikacji przez port UART, żeby móc wysyłać tekst i odbierac. Niestety coś mi to nie dziala. Kopiluje sie z jednym warningiem. Kod wygląda tak : #include <avr/io.h> // dostęp do rejestrów #include <avr/pgmspace.h> #include "uart.h" // Zmieniając poniższe definicje...
Witam, mam problem z moim urządzeniem, mianowicie... STM komunikuje się z ESP8266 przez USART i wysyła do niego komendy "AT", przy pierwszym włączeniu inicjalizacja ESP (połączenie z wifi, cwmode itd) działa poprawnie i każde polecenie wykonuje się kolejno. Kiedy dojdziemy do programu głównego i mikrokontroler znajdzie się w zdarzeniu, gdzie powinien...
Witam, mam dziwny problem, pomoże mi ktoś go rozwiązać? Chodzi o to, że buduję urządzenie, które na żądanie będzie mierzyło temperaturę układem DS18B20. Żądanie odbywa się poprzez naciśnięcie odpowiedniego przycisku na pilocie RC5. Całe moje urządzenie to dwa AVR: Atmega8 (jako dekoder RC5, który wysyła odebrany adres i komendę poprzez USART do drugiego...
Witam. Niedawno rozpocząłem swoją przygodę z Atmegą8. Chciałem sprawdzić jak działa interfejs TWI. Na podstawie książki pana Cezarego Klimasza zakupiłem układ 24c16wp i napisałem program. Niestety program zamiast wyświetlać mi w terminalu liczby od 255 do 0 wyświetla bliżej nieokreślone sekwencje znaków. Czy mógłby mi ktoś pomóc znaleźć błąd w moim...
Doceniam za ten hash, choć nie spełnia to koncepcji ramki co do startu (konieczne) i kontroli poprawności (mile widziane/zalecane). Jak ramki są przez USB, ETH, mówimy o "sprzętowym," odbiorze a nie mostki w rodzaju FTDI, to, o ile ramka nie przekracza wielkości przyjętej przez standard, startu i stopu nie musi byc. Podobnie CRC, bo USB/ETH, daję "czyste"...
Witajcie moi drodzy. Udało mi się obsłużyć (częściowo) klawiaturę matrycowa. Proszę o sprawdzenie kodu (kod bazuje na przykładzie dondu bo przez rs232 wysyłam to co kliknięto) http://obrazki.elektroda.pl/2692005700_1... 1. Co można ulepszyć/usprawnić? 2. Czy idea (oraz tryby pracy portów) są poprawne? 3. Czy wartość rezystora jest odpowiednia?...
Witam, Potrzebuje pomocy w przetwarzaniu danych przychodzących na uart od modułu SIM900. Generalnie chodzi o to bym mógł odebrać i zidentyfikować dane np numer dzwoniącego, tekst smsa z komendą. Obsługę uartu mam sprawną w dwie strony. Moge wysyłać z dane z pamięci RAM i flash. Odbieranie danych realizuję w przerwaniu. Moduł SIM900 ma pewien standard...
Skonfigurowałem USART na dwóch atmegach8 (TX i RX). Zastosowałem prosty kod z noty katalogowej. Do RX podłączyłem LCD. Wyświetlacz cały pokrywa się "krzakami". To samo się dzieje czy uC są połączone kablem TX->RX czy też wysyłam dane przez radio. Konfiguracja LCD jest raczej prawidłowa bo przy wpisaniu tekstu w " " ( LCD_WriteText("mojtekst"); )...
Pojawił mi sie niedawno pewien problem którego nie moge obejsc. Okazało sie ze Procek "nie widzi" niektórych tablic znaczy ich zawartości. Problem jest na tyle dziwny ze nie moge wrócic do kodu który mi działał ten ponizej po wiekszości modyfikacji. Postaram sie zobrazowac sprawe: kod wygląda natepująco #include <avr/io.h> #include <util/delay.h>...
void print(char *txt) { unsigned char p; int txt_len = strlen(txt); txt += txt_len; while( txt_len > 0 ) { if(p==16)p=0; USART_Transmit(0x10); USART_Transmit(p); USART_Transmit(*txt); txt --; txt_len --; p++; } }
Witam. Pracuję nad projektem automatycznych drzwi otwieranych elektronicznych kluczem przez bluetooth. Jest to temat mojej pracy inżynierskiej dlatego sprawa jest dla mnie ważna. Projekt jest już mocno rozbudowany, więc mogę mieć problem z opisaniem wszystkiego, nie chce nikogo odstraszyć objętością kodu, więc proszę o wyrozumiałość. Projekt jest na...
hmm, no już mniej więcej rozumiem o co chodzi. Tylko ja nie mam funkcji porownaj_tekst więc zastosowałem funkcję memcmp i zrzutowałem RX_Buffer na (const void*) Do testów wysyłam do modemu AT i sprawdza czy tylko odebrał OK, jeśli jest to OK, to wysyłam tekst Działa. Tylko jest problem, bo nie wysyła mi całego tekstu "działa!", tylko "dzi". Oto mój...
http://obrazki.elektroda.pl/7537428400_1... Cześć! Ostatnio na łamach Elektrody często pojawiają się konstrukcje domowych frezarek i ploterów. Do niedawna sam pracowałem nad czymś podobnym, a jednak zupełnie innym. Prezentowana konstrukcja to tani ploter o polu roboczym A4 przeznaczony do rysowania prostych wykresów. Notka dla profesjonalistów...
Witajcie, udało mi się zrobić prosty program, gdzie wpisując w terminalu 1 włączam diodę LED1, 3 - wyłączam ją, 2 - włączam diodę LED2 i 4 wyłączam ją. Zatem wydaje się, że moduł Bluetooth odbiera znaki, które wpisuję mu z terminala. Jednak kiedy wpisuję ATL5 (mignięcie czerwonej diodki sugeruje odebranie danych) oraz kiedy w konfiguracji USARTa zmieniam...
Witam ponownie. Mam mały problem do przeskoczenia i nie mogę sobie z nim poradzić. Krótko: -ATmega32 liczy impulsy z enkodera, po otrzymaniu znaku '?' odpowiada ':' bajt_starszy+'0' bajt_mlodszy+'0' '#' . W terminalu działa pięknie. -ATMega128 uart0 wysyła zapytanie '?' o pozycję enkodera. W terminalu działa. Uart1 ma za zadanie wysłać odebraną wartość...
Witam, Przeczytałem wiele stron z podobną tematyką, próbowałem wielu różnych algorytmów, jednak nie udało mi się osiągnąć tego co chciałem. Założenie: Komunikacja aplikacji napisanej w visual c++ 2010 express z atmega16/32. 1. Wysyłka 5 liczb z komputera: (parametr1, parametr2, parametr3, parametr4, parametr5) na atmegę. Sprawa wydawałoby się prosta,...
Po pierwsze proponowalbym zmienic troche ta funkcje: void wyslij_znak(unsigned char znak) // bylo: unsigned int { if (znak == '\n') znak = '\r'; // bylo: wyslij_znak('\r'); while (!(UCSRA & (1<<UDRE))); UDR = znak; } A tak w ogole to masz moj fragment kodu: :D typedef unsigned...
Witam. Przedstawię dzisiaj kompletne rozwiązane jak szybko uruchomić za parę złotych własny terminal rs-owy w oparciu o konwerter USB RS232 na układzie scalonym PL-2303HX który można kupić bez problemu na Allegro. http://obrazki.elektroda.pl/9582806900_1... Przykład oparłem na programie putty z domyślnymi ustawieniami dla RS-a. Biblioteka...
http://obrazki.elektroda.pl/6709419000_1... Stworzony przez Alexandra Manna i opublikowany w serwisie Circuit Cellar system MiniEmail jest niezależnym, mikroprocesorowym klientem poczty e-mail. Jest cichy, łatwy w użyciu, energooszczędny – i co najważniejsze – odporny na robaki rozsyłane mailami. Kolejną zaletą jest też...
http://obrazki.elektroda.pl/2733418700_1... Poniższy projekt został przetłumaczony na prośbę jednego z użytkowników elektroda.pl;) Pomysł na zrobienie tego urządzenia pojawił się po tym jak korzystałem z fabrycznego testera ADSL. Na jednym z forów, na których szukałem inspiracji, jeden z użytkowników zaprojektował urządzenie, które...
Witam, Używam Timera 3 w celu generowania sygnału PWM na kanale 1 i 2 tegoż timera. Sam PWM działa jak ta lala, ale wygląda na to, że udostępnienie przerwania z tego Timera powoduje, że kontroler nie wykonuje instrukcji z pętli głównej. Czy ktokolwiek wie o co co może chodzić i jak to naprawić? Z góry bardzo dziękuję. Poniżej wklejam istotne fragmenty...
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, Pracuje nad kodem programu do komunikacji przez UART (mikrokontroler <-> komputer) i zastanawiam się nad sposobem implementacji w przerwaniach. Na razie zrobiłem to w taki sposób: - Nadawanie danych wykonuje w taki sposób, że w programie głównym zmieniam w wskaźniku adres początku tablicy którą aktualnie przesyłam przez UART, w przerwaniu...
Walczę i walczę z tym programem ale nie daje rady.... :cry: Wrzucam cały kod, jest on zrobiony na bazie jak wspomniałem wcześniej: Projekt powiadomienia o alarmie by Xury wersja 2.0 [syntax=basic4gl] '***************************************... 'Projekt powiadomienia o alarmie by Xury wersja 2.0 'Działanie na przerwaniach...
Napisałem wersję "new core" dla tego projektu. Niestety zajmuje 82 procent flasha w Atmega8 Dlatego w załączniku jest skompilowane archiwum. W przyszłości planuję napisanie programu, który w łatwy sposób pozwalałby edytować dane w EEPROM, czyli zmieniać treść SMS i numery telefonów. [syntax=vb]'****************************...
A czym objawia się "niedziałanie" funkcji? Monitorujesz jakoś dane wysyłane RS-em? Jak? Wysyłane jest coś? Ile bajtów? Debugujesz program? Wykonuje tą funkcję? Wychodzi z niej? Program po obu stronach przetestowałem wysyłając tablicę: http://obrazki.elektroda.pl/9468400800_1... Komunikacja odbywa się w kierunku µC -> PC. Na...
Trzeba posłużyć się wskaźnikiem, ponieważ w C nie przekazuje się całej tablicy (czyli np. ciągu znaków) do funkcji, lecz tylko jej adres. Tymczasem kolega jako argument funkcji podaje zmienną typu char. Proponuję wklepać tak: void pisztekst(char *tekst) //wysyłaj tekst { char zn; char nr=0; while(1) //pętla do pobierania pojedynczych...
ale z tego co rozumiem po przeczytaniu noty katalogowej, flaga w przerwaniu ISR() ustawia się sama po wysłaniu znaku (tx complete) to co ma się znaleźć w ciele funckji: UstawFlagePrzerwaniaOdUART_TX(); ? Próbowałem na różne sposoby. jak wysyłam w taki sposób: for(int i=0; i<5; i++) USART_Tx(tekst[i]); to ładnie wszystko leci,...
Opiszę tutaj moje próby zaprogramowania w linuksie Mikrokontrolera ATtiny2313 z wykorzystaniem kompilatora języka C avr-gcc, programatora avrdude oraz Sample Electronics programmer. Schematów nie dorzucam ponieważ nie bardzo jest sens cały programator to tylko 3 oporniki podłączone do portu LPT do znalezienia w google w każdej chwili, reszta mojego...
Witam. Wziąłem się ostatnio za komunikację z komputerem. Napisałem program który na razie tylko wysyła ciąg znaków. Oczywiście chciałem aby wszystko odbywało się w przerwaniach. Napotkałem na taki problem, który nawet nie wiem czym może być spowodowany. Oto kod: [syntax=c]#define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h>...
A ASM robi jak chcesz ale pod warunkiem że wiesz czego chcesz. I robi kod okropnie długi. ASM robi kod okropnie długi? Chyba coś Ci się pomieszało. Może Ci chodzi że trzeba dużo pisać aby uzyskać to samo co w Bascomie, ale wpisanie LCD"jakis tekst" zajmuje kilkaset bajtów co w ASM zajmuje trochę mniej - już nie tak dużo. Innym rażącym przykładem...
Dzięki za biblio ;) Ja korzystam od dawna z bibliotek od Mirka z BlueBooka lekko przeze mnie zmodyfikowanych. Odświeżam temat bo jednak mam problem: http://obrazki.elektroda.pl/2645882300_1... http://obrazki.elektroda.pl/2587616400_1... http://obrazki.elektroda.pl/8131694900_1... http://obrazki.elektroda.pl/2415856600_1...
Odjąć 48!!! Tylko że już to przerabiałem, ale może coś źle robiłem.Mógłbyś mi wskazać miejsce gdzie to wpisać? A może jest jakiś mądrzejszy sposób? Program miał działać tak ale się zaciąłem: 1. Na LCD nic albo 0 //działa 2. W terminalu jakiś tekst powitalny //jest, ok 3. Wpisuje cyfrę i wyświetlona zostaje ona na LCD //nie działa 4. Cyfra poddana jakiejś...
http://obrazki.elektroda.pl/7154876600_1... Boberov Unbelievable Boot Loader V0.1 2013 Na wstępie skrócone informacje na temat projektu którego szerszy opis znajduje się w dalszej części tekstu. Program bootloadera przeznaczony jest dla ATMEGA8 (po minimalnych zmianach każdy AVR z wystarczającą ilością pamięci), umożliwia programowanie...
Witam, Układ działa przy wykorzystaniu ATiny4313, posiadam pewny pakiet danych który przesyłam przy wykorzystaniu programu RealTerm dla przykładu jest to ciąg ASCII tego typu: 51276550032250 . Gdzie: 5 - adres urządzenia 127 - wypełnienie PWM 65500 - wartość dla przerwania TIMER1_COMPA 32250 - wartość dla przerwania TIMER1_COMPB oraz oznaczenie końca...
Witam. Nie posiadam wyświetlacza LCD ani 7segm. chciałem nauczyć się obsługi DS18B20 niestety na ekranie terminalu do odbioru sygnału z RSa widnieje dziwna wartość "1360" . UART działa poprawnie. Procesor to Atmega8 z wewnętrznym 8MHz, czujnik podpiłem do PB0 i dałem rezystorek 4,7kłoma. Proszę o jakaś sugestie. #define F_CPU 8000000UL // 8 MHz #define...
http://obrazki.elektroda.pl/5335012100_1... Mister Gloves to bezprzewodowy interfejs USB, pozwalający poprzez intuicyjne ruchy ręki i palców sterować komputerem. Rękawica noszona na prawej dłoni umożliwia użytkownikowi kontrolę ruchu kursora, wykonywanie skrótów klawiaturowych oraz symulowanie kliknięć przyciskami myszy, poprzez zginanie...
Ile czasu powinno zająć wysłanie 3 liczb. Najpierw używam funkcji sprintf, później USART_Puts. U mnie to jest 6 ms, nie za długo? Czas mierzony przed funkcją sprintf, do momentu wyjścia z funkcji USART_Puts. Przecież na AVR to szybciej było. :cry: Pytasz czy mówisz? Jak pytasz to nie można odpowiedzieć. Ty wysyłasz tekst. A nie surowe liczby (binarne)....
Tak jak w temacie coś mi kod nie działa proszę o pomoc gdzie leży błąd Ps wyświetla A ale B to nie wyświetla korzystam z 8Mhz [syntax=objc] #ifndef UART_H_ #define UART_H_ //Załączenie bibliotek systemowych #include<avr/io.h> #include<avr/interrupt.h> #include<util/delay.h> //Zadeklarowanie używania lub nie RS485 #define RS_485 0 #if...
Witam, jako iż mój poprzedni temat został usunięty, a bardzo pilnie potrzebuje jakiejkolwiek pomocy jestem zmuszony założyć temat jeszcze raz. Otóż mój problem dotyczy sterowania silnikiem DC, a konkretnie napięciem jakie do niego wysyłam, chodzi o zmianę prędkości obrotowej, wzorowałem się na poradniku użytkownika Dondu konkretnie aplikacji LED Master....
Cześć, Zwracam się z prośbą do kolegów o pomoc w rozwiązaniu problemu, który jak na razie mnie pokonał. Do komunikacji z pewnym urządzeniem potrzebuję mieć skonfigurowaną transmisję szeregową 7 bitów danych, jeden bit stopu, 1 bit parzystości even, prędkośc 9600bps. Kod programu (układ stm32g071rbt6): https://obrazki.elektroda.pl/8307914000_...
Witam! Mam problem z poprawnym zaprogramowaniem kontrolera. Teoretycznie powinno wszystko działać, program kompiluje się bez problemu jednak nie wykonuje moich założeń czyli odczytu temperatury, jej konwersji oraz wyświetleniu(przez Terminal). Jeśli ktokolwiek spotkał się z podobnym problemem bądź wie jak ów rozwiązać to byłbym bardzo wdzięczny. Poniżej...
Witam wszystkich, oto mój programik który ma służyć do komunikacji między układem ATtiny2313 a komputerem - poprzez złącze RS232.Problem polega na tym że program nie chce wejść do obsługi przerwania , po wpisaniu znaku do rejestru UDR i wysyłana jest w kółko jedna literka "d". Prosiłbym o pomoc i podpowiedź co jest tutaj nie tak #define cbi(sfr,...
Mam problem. Pisze program do komunikacji przez port UART, żeby móc wysyłać tekst i odbierac. Niestety coś mi to nie dziala. Kopiluje sie z jednym warningiem. Kod wygląda tak : #include <avr/io.h> // dostęp do rejestrów #include <avr/pgmspace.h> #include "uart.h" // Zmieniając poniższe definicje można dostosować program do potrzeb #define...
Witam, zaczynam (najwyższy czas) bawić sie AVRami i postanowiłem napisać prosty program do wysyłania tekstu przez USARTa. Napisałem własne, krótkie obsługi przerwań bez używania obstukanego loop_until... który blokuje prace uC do czasu wysłania znaku. Jednak w czasie symulacji pojawił sie problem - tzn wrzuciłem breakpoint'a na obsługe przerwania ISR...
usart wysyłać wysyłać tekst stm32f4 usart wysyłać
naprawa telewizor philips lodówka duże zużycie licznik energia zdalny
junkers czujnik temperatury junkers czujnik
Przegrzewanie Xbox 360 Slim E po 15 minutach gry Bęben w pralce nie obraca się - przyczyny i rozwiązania