Zamień na stringa to co otrzymujesz z ADC, albo przerób inaczej procedure wysyłania. W tej chwili w funkcję która wysyła stringa wrzucasz int'a
Można to tak zrobić: [syntax=basic4gl]Dim Command As String * 4 , Bajty_command(5) As Byte At Command Overlay Printbin Bajty_command(1) ; Bajty_command(2) ; Bajty_command(3) ; Bajty_command(4) ; Bajty_command(5)[/syntax]
Może, ktoś z kolegów podpowie, bo nie mam pojęcia dlaczego nie mogę skomunikować Atmegi 8 z Atmegą 16. Atmega16 wysyła przez RS jednoznakowy string i druga Atmega go odbiera i realizuje sekwencję programu związaną z tym poleceniem. po wykonaniu ma odpowiedzieć tym samym znakiem, że polecenie zostało zrealizowane i tu jest problem. Pierwsza Atmega informacji...
No tak, komputer odbiera je jako "suche" bajty, ale Labview, niejako z miejsca interpretuję je jako dane string. Na wyjściu bloczku "VISA Read" Mylisz stringi. To, czego spodziewa się klocek to string w postaci "3.1415". A string który dostajesz z atmegi to cztery bajty o jakiś tam wartościach które zostają zamienione na string w ten sposób, że każdy...
a to program Dodano po 11 Mam problem z załącznikiem może teraz.:) Dodano po 6 plik się nie dodaje ?? wyślę tak : $regfile = "m8def.dat" $crystal = 11059200 '$baud = 9600 '$baud = 19200 $baud = 38400 Echo On '******** KONFIGURACJA WYŚWIETLACZA LCD ****************************************... Config Lcd = 20 * 4 ' Deklaracja...
Mam układ w konfiguracji jak w tytule ( do tego czujniki DS, BME280, zapis SD, RFM12 ) Ostatni etap to wysyłanie przez JSON do Domoticz. Niestety szwankuje wysyłanie i robi to losowo, czasem po wysłaniu danych z kilku czujników, czasem przejdzie cały "cykl" Odstęp pomiędzy wysyłaniem wynosi pomiędzy 20 a 30 sekund, natomiast odstęp pomiędzy wysyłaniem...
Z tym zerem jest tak, że jak tworzysz zmienna typu string (null-terminated) to ma ona automatycznie zakończenie w postaci 0 na końcu. Lecz jeśli zrobisz tablicę znaków i chcesz uzywać jako stringa to musisz dodać 0 na końcu (żeby było kompatybilne ze stringiem). Czyli każdy string = text+0 a tablica bedzie u ciebie tylko text, dlatego aby swobodnie...
W sumie obojętnie jak to wyśle, byle po obu stronach była ta sama konwencja - czyli albo obie strony używają stringów, albo postaci binarnej. Z tego co pisze autor wynika, że nadajnik dokonuje konwersji na strin i przesyła dane, które odbiornik interpretuje jako dane binarne.
Poprawcie mnie jeśli się mylę, ale przecież char to po prostu typ zmiennej 8-bitowej. Nie ma różnicy co prześlę w ramach tych 8 bitów. Lecą sobie zera i jedynki i chodzi tylko o to, żeby programista wiedział jak je później zinterpretować. Innymi słowy czy paczka 8-bitów (typu znakowego 'char') to część jakiejś liczby, którą później programista złoży...
Metoda ciekawa i właśnie myślę jak ją zaimplementować. Tylko powstaje tutaj problem. W C# zdarzenie od odebrania danych wywoływane jest gdy RS232 cokolwiek odbierze, więc jeśli będę w przerwnaniu wysyłał znak po znaku to w C# będę otrzymywać pojedyncze znaki... potem ciężko będzie to skleić do kupy odbierając znak po znaku. Poza tym będę wysyłał różne...
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...
"Wydaje" mi się, że coś takiego powinno działać: [syntax=vbnet] Local Domoticz_cmd As String * 200 Domoticz_cmd = "AT+CIPSTART=" + Chr(34) + "TCP" + Chr(34) + "," + Chr(34) + Domoticz_ip + Chr(34) + ",8080" ' typ polaczenia oraz IP serwera Print Domoticz_cmd Waitms 200 Domoticz_cmd = "GET /json.htm?type=command¶m=udevice&id... Domoticz_cmd = Domoticz_cmd...
Czyli obecnie masz zepsutą i błędną funkcję pobierającą rzekomo łańcuch, a w rzeczywistości jeden znak na ATmega oraz program na PC niedopasowany do poprzedniej, nieco kulawej ale jakoś działającej funkcji odbioru łańcucha. Program na PC nie może wysyłać nowych znaków dopóki nie odbierze całego łańcucha z ATmega, bo inaczej nadawane znaki nie będą odbierane...
Witam, pisze w nie niedokończonych bo projektowi jeszcze daleko do publikacji. Wolał bym też nie wklejać jeszcze źródeł ani samego programu, ktoś kto się uczy mógł by nie potrzebnie brnąć w to bagno które stworzyłem w C#. :p obiecuje jednak ze gdy wszystko będzie gotowe na pewno się podzielę. http://obrazki.elektroda.pl/8173811000_1...
Witam, Napisałem program na Atmegę który m.in wysyła przez USART informację do PC. Część związana z USART jest klasyczna: [syntax=c] void uart_TX( unsigned char data ) { while ( !( UCSR0A & (1<<UDRE0)) ); UDR0 = data; } void uart_puts (char *s) { while (*s) { uart_TX(*s ++); } } void uart_putint(int value) { char string[6]; utoa(value, string,...
Pobierz sobie "Virtual Serial Port Kit", zrób sobie wirtualną pętelkę i podejrzyj na PC czy to co wysyłasz ma sens. Pamiętaj, że WriteLine wysyła tekst z terminatorem LF. CR nie występuje wtedy w tym stringu więc warunek "if (ch == '\r')" nigdy nie będzie spełniony.
Nie wywołuje żadnej funkcji. Określam UUID startuje serwer on szuka urządzenia jeżeli znajdzie dane UUID to się z nim laczy. Następnie do wybranego serwisu wysyła stringa z wartością. Ale jak szuka widzi tylko jedno UUID tego urządzenia innych charakterystyk nie widzi może dlatego nie potrafi się z nimi połączyć.
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ć...
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...
https://obrazki.elektroda.pl/9317464400_... Witam Przedstawiam stację meteo nad którą pracuję już kawałek czasu. Początek prac to też mój początek zabawy z Arduino. Zaczęło się od gotowego projektu malutkiej stacji z wyświetlaczem OLED. https://obrazki.elektroda.pl/5611267500_... Wtedy już samo wgranie programu do...
1. Najpierw przczepie się do PuTTY - nie jest to najlepszy terminal do prac debuggerskich... 2. Co dokładnie robi funkcja USART_TX( ) ? 3. Zdecyduj się na czym chcesz pracować - na indeksie tablicy, czy na wskaźniku? 4. Nigdy nie rób czegoś takiego jak "pierwszy bajt w pętli głównej a reszta w przerwaniu". Albo wysyłasz wszystko z pętli głównej poll-ując...
No to przyjacielu jaka jest ta super komenda ? Ta super komenda , a właściwie jest to znane - choć nie wszystkim i nie do końca - polecenie konfiguracyjne portu szeregowego Config Serialin = Buffered , Size = XX , Bytematch = YY Zajrzyj teraz do pomocy Bascoma i przeczytaj , jakie wspaniałe możliwości daje nam ostatni (zaznaczony na niebiesko) parametr...
A funkcja CDec ? EDIT: A jeśli już chodzi o samo wysyłanie i odbieranie. Jeśli masz zmienną liczbę znaków, a chcesz to czymś terminować to najlepiej użyj znaku CR (0x0D, carriage return) po każdym wysłanym komunikacie. W programie natomiast sprawdzasz czy taki znak otrzymano, jeśli tak konwertujesz liczbę i czyścisz bufor odbiorczy, jeśli nie dopisujesz...
Witam! Nie umiem sobie poradzić z uruchomieniem kodu. Myślę, że temat książkowy. Mam błędy w programie który próbuję uruchomić w celu dalszej edukacji w C. Nie znam jeszcze dokładnie w tym języku wszystkiego, więc zwracam się o pomoc, jeżeli to możliwe, aby uruchomić ten projekt. Dodaję kod i plik z builda. Poprawiłem tytuł, formatowanie postu i pisownię....
No to zaczynamy po raz kolejny. Coś takiego jak stworzyłeś to niestety za szybko nie będzie działać. Mega z kwarcem rs 14 z groszami działa naprawdę szybko i można zrobić bardzo dużo w jedna sekundę. Do odbierania i wysyłania danych można sobie napisać własną procedurę - nawet w bascomie i jest ona sporo szybsza i działa rewelacyjnie. Deklarujemy przerwania...
Piszę program do obsługi tel poprzez SMS i dzwoniący telefon wszystko na ATMEGA 16. Zrobiłem odbiór smsa, w trybie tekstowym działa. AT+CLIP=1 też działa dzięki czemu mogę sprawdzić nr telefonu dzwoniącego i przy porównaniu ze stringiem wykonać lub nie dalszą akcje. Problem pojawił się przy próbie wysłania SMSa. Mianowicie wysyłam do telefonu kolejno...
Puściłem takie coś, tylko Atmega -> PC: [syntax=c]int main (void) { USART_Init(__UBRR); sei(); while(1) { uart_puts("Przykladowy string.\n\r"); _delay_ms(250); } }[/syntax] UART, 250kbps. Nie krzaczy. Wychodzi na to, że błąd w sofcie dot. nRFa? Bo jak to się objawia - jak już się zawiesza to on wysyła "kilka krzaków" i staje dęba, nie wysyła krzaków...
Witam, chciałbym wysłać tablice (nie stringa) przez usart na pc char tab[]={'1','u','z','a','3',... int i; for (i=0; i<5; i++) { USART_Transmit(tab[i]); } na pc otrzymuje: 222222 i układ mi się resetuje void USART_Transmit(unsigned char data ) { while ( !( UCSR0A & (1<<UDRE0))...
Witam, mam sterownik na ATmega 32, sterownik monitoruje 4 pomiary napięcia, temperaturę i obroty silnika, chciałbym odczytywać te parametry poprzez aplikację na telefonie komórkowym, Sterownik wysyłam mi te dane co 1 sekundę przez WiFi w formacie: U1,U2,U3,U4,T,Obr. W jaki sposób wyciągnąć z takiego stringa poszczególne wartości? Program na telefon...
Bo Const to stała a Ty potrzebujesz czegoś jak DB albo PROGMEM. Czyli danych umieszczonych w pamięci. A stała niekoniecznie będzie tam umieszczona. Stała może być np. wbudowana w rozkaz assemblera (akurat nie tutaj ale inaczej to może być). Zrób raczej tak: Dim Atmega As String Dim Attiny As String Atmega = "Atmega" Attiny = "Attiny"...
Ok, słusznie zauważyłeś mój błąd, już go poprawiłem jednak nadal nie odbieram tego co chcę,wiec prosze o kilka wyjaśnień. Otóż rozumiem, że funkcja "USART_in();" zwraca mi jeden znak, który przychodzi z telefonu. Napisałeś o tej 1 sekundzie - szczerze mowiąc robie pierwszy raz coś takiego i nie wiem ile należy tam zaczekać lub czy w ogole jakies opóźnienie...
A transmitery fm są legalne czy nielegalne? Nadawanie w paśnmie, które jest licencjonowane jako takie jest niedozwolone (są niewielkie wykluczenia, ale jednak nie zaleca się). Niemniej jednak przekraczać prędkości czy przechodzić na czerwonym świetle też nie można -a się zradza ;-) Wszystko jest kwestią czasu, jeżeli Twoje urządzenie nadawcze* nie...
Witam serdecznie Jako kolejny krok nauki uczę się oprogramować bluetooth hc-05 oraz atmega 8 sprzęgnięte z aplikacją w telefonie. Połączenie bluetooth jest nawiązane po naciśnięciu przycisków w telefonie wysyłana jest dana typu string. Jeden przycisk wysyła daną o wartości "zapal", drugi przycisk o wartości "zgaś". Do portu atmegi8 podłączona jest dioda...
Witam Wiec prawdopodobnie jest tak: Ta funkcja void send_rs_wyraz(char *s) po prostu nie wie kiedy skończyć wysyłanie znaków, aby ja o tym poinformować musisz przed wywołaniem zakończyć string zerem SIGNAL (SIG_UART_RECV) { cli(); if (UDR==0x0D) { RxBuffer[RxCounter]=0; <------TU send_rs_wyraz(RxBuffer);...
Ja to zrobiłem w kilku projektach na 3 różne sposoby... - jeśli danych jest bardzo niewiele to wysyłałem dane w 2 liniach po czym rozpoznawałem i kierowałem to do odpowiednich okien (wykresów itp.), jeśli dane nie napływały jednocześnie bądź były długie w ramce wysyłałem znaczniki które rozpoznawałem w programie i oczywiście kierowałem je tam gdzie...
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 następujący problem. Buduje sobie lokalizator. Przez USART0 komunikuję się z GPSem (GPS wysyła dane co 1s) i tu komunikacja przebiega jak należy. Natomiast przez USART1 komunikuję się z GSMem. W tym przypadku wysyłanie działa poprawnie, natomiast odebrane dane zawierają tylko dwa pierwsze i dwa ostatnie znaki. Sprawdzałam procka RealTermem...
Miałem chwilę więc chciałem napisać szybko program na Aduino Mega2560, ale potem sobie przypomniałem, że tam mikroskopijny kwarc a błąd przy 16MHz dla 115200 jest za duży. Wziąłem więc Mega128 bo była wolna i pod ręką. Napisałem program w którym przez Charmatch odbieram string "1234567890" po odebraniu Entera. Żeby było uczciwie to jeszcze odpaliłem...
Program się kompiluje, tylko się wykłada podczas wykonywania polecenia wysyłania przez uart stringa sms, natomiast tego samego stringa bez problemu zapisuje na kartę pamieci SD za pomocą biblioteki "Config_MMC.bas" Dodano po 3 Program zmieniłem tak jak radził kolega wyżej, ale bez oczekiwanego efektu program się kompiluje,ale podczas wykonywania procedury...
Oto mój kod do wysyłania znaków: [[syntax=c] void nadajznak(char dana1) { while(!(UCSRA&(1<<UDRE))); //czekaj na wysłanie poprzedniej danej UDR=dana1; } [/syntax] [syntax=c] void nadajstring(char *dana) //wysyłanie całego napisu { int dlugosc; //zmienna określająca długość napisu int k=0; //zmienna licznikowa dlugosc=strlen(dana); //pobieranie...
Dzięki wielkie, udało się! Program odczytuje poprawnie informacje, dodatkowo ograniczyłem bufor do 1 znaku, bo Atmega wysyła znaki jeden po drugim. Poniżej zamieszczam wszystkie kody działające, dla potomnych :) UPDATE: ----------------------------------------... No i chyba poległem z wysyłaniem, nie obejdzie się...
Za mało danych. Chcesz mieś program do odbioru :" Odbiór danych z rs232 (ramka 32 znakowa zawsze). Zapis całego stringu do zmiennej i wyłowienie z niego potrzebnych danych. " Napiszę jak to rozumiem. Port w PC pod Windows czeka na napływ 32 bajtów wysyłanych z określonymi parametrami (baudrate, ilość bitów danych, ilość bitów stopu, parzystość bądź...
Witam, Wykonuję projekt w którym muszę wykorzystać komórkę i komendy AT. Mam program wykonujący konwertowanie do PDU. Nie wiem dlaczego komórka (siemens MT50) nie za każdym razem wysyła smsa.Na 10 prób ok 3 smsy nie zostają wysłane. Jest ona podłączona do Atmegi128 bez użycia Maxa232 tylko bezpośrednio, dodatkowo włączam diodę Zenera która ogranicza...
Wysyłam do procesorka tekst w formacie takim: xyyy gdzie: x - wartość 0 lub 1 yyy - wartość od 0 do 255 Potrzebuję w procesorze wartość "x" wrzucić do jednej zmiennej, a wartość yyy do drugiej zmiennej. Nie podaję kodu programu ani parametrów transmisji, bo są na pewno poprawne (jak wysyłam coś do uC, gdy mam wrzucony w niego program testowy to mi odpowiada...
Problem rozwiązany. Do pliku boards.txt dopisujemy + modyfikujemy resztę według opisu z linku : [syntax=c] ########################################... nano256.name=Arduino Nano (256 Serial Buffer) nano256.upload.protocol=arduino nano256.upload.maximum_size=30720 nano256.upload.speed=57600 nano256.bootloader.low_fuses=0xFF nano256.bootloader.high_fuses=0xDA...
Mam problem z wysyłaniem sms, wykorzystuję atmege128 i moduł sim900 na płytce Evb v1.01_pcb , proszę o rzucenie okiem na kod gsm.c [syntax=c]// PLIK: gsm.c // Dołączone biblioteki #include <avr/io.h> // Biblioteka obsługująca peryferia mikrokontrolera #include <avr/interrupt.h>// Biblioteka obsługująca przerwania mikrokontrolera #include...
Nie wystarczy itoa? http://pl.wikibooks.org/wiki/C/itoa Ja wiem, wiem - biblioteki zwiększają zajętość flash... , ale myślę (w tym przypadku), że jeżeli projekt jest mały i masz jeszcze trochę flash'a i RAM oszczędzanie - poprzez pisanie własnych funkcji konwertujących int na string nie ma sensu. Ale wracając do twojego kodu: W twoim przykładzie brak...
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...
tak - tak - dokładnie znak po znaku trzeba wysłać ATN=NAZWA$0D czyli razem w powyższym przypadku wysyłasz 10 znaków ale nie rozumiem za bardzo w czym ty cały czas widzisz problem ? nigdy w życiu nie wysyłałeś nic przez RS232 ?? czym się różni dla ciebie wysłanie z terminala na PC ATN=NAZWA od wysłania tego z procesora ??? że niby co? gdzieś się wpisuje...
Przecież podałem jak można to ładnie i składnie wysłać ;) Najlepiej zamiast tablicy na żywca w formie bajtów wysyłać stringi i je analizować. Na przykład zamiast wysłać ciąg z wartościami 0x70,0x20... proponowałbym wysyłać stringa w formie : "A=112,B=32...\r\n", na końcu stringa dajemy \r\n żeby dać znać mikrokontrolerowi, że jest to koniec transmisji....
Wiem że na forum wiele razy przewijał się temat połączeń avrów z komputerem, jednak żaden z tematów nie został rozwiązany do końca (schemat, kod lub pseudokod do obu programów) Ostatnio postawiałem sobie za cel napisanie programów, które będą się ze sobą komunikowały (wystarczy tylko w jedną stronę) poprzez USB. Jeden z nich ma wysyłać dane (najlepiej...
Najpierw należy wyodrębnić poszczególne znaki z hasła które chcemy wysłać. Następnie wyłuskane znaki (w T_string) zamieniamy na kod ASCII i wysyłamy. W s1 znajduje się ciąg znaków np.$TEMP. W D6 do D10 znajdzie się liczbowa reprezentacja liter ASCII. Deklaracje : Dim T_string As String * 6 Dim s 1 As String * 6 '-------------------------- procedura...
Witam wszystkich mam taki problem.Potrzebuję z aplikacji android wysłać cztery zmienne typu Word do procesora Atmega 32 i zapisać je w Epromie.Dane wysyłane w Srtingu. Na razie wysyłam dane z terminala z Pc-ta.Aplikację na Android pisze mi ktoś inny.Potrafię wysłać jedną zmienną nadaną jako String przekształcić na Word i zapisać ją w Eprom na procku...
Super tylko, że jest mały problem z wydajnością i musisz założyć, że naprawdę przychodzący znak będzie tylko jeden na raz. Tzn. że masz od razu po pierwszym znaku czas na odesłanie :) i dopiero następny znak i przerwa, następny :) Zdecydowanie lepiej jest zastosować bufor cykliczny i pracę z wskaźnikami danych przychodzących wychodzących. Ponieważ nie...
Wrzucam całość [syntax=c] //=============PROCESOR ATMEGA 8 AU=============================// #include <avr/io.h> #include <avr/eeprom.h> #include <string.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #include "mkuart.h" // biblioteka z GB //led testowy-ustawienia// #define LED_OFF PORTD...
Przy takim kodzie: Attiny2313 - temu raczej nic nie dolega - odbiera i wysyła: $regfile = "attiny2313.dat" $crystal = 8000000 $baud = 9600 '********************* Konfiguracja magistrali 1-Wire Config 1wire = Portd.5 '********************* Config Serialin = Buffered , Size = 10 Enable Interrupts '********************* Konfiguracja wejść i wyjść...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Witam, posiadam przejściówkę USB > RS232 i chcę się skomunikować z ATMEGĄ 8 i PC. Mam taki problem, że jak piszę w konsoli cokolwiek to pojawia się to w konsoli prawidłowo, i po naciśnięciu ENTER pojawia się na LCD podłączonym do ATMEGI. Ale jak Atmega wysyła ciąg znaków to dostaję w 80% błędne znaki czyli np: "razdwa" zamiast "raz dwa". Proszę o jakąś...
ok działa ale połowicznie - winą było odwrotne podłączenie przewodów + i -. Teraz to co wysyła Atmega odczytuję bez problemów i żadnych błędów natomiast mam problem z odczytaniem tego co wysyła komp - Atmega nie reaguje - w bascomie mam programik: $regfile = "m8def.dat" $crystal = 16000000 $baud = 9600 Dim S As String * 4 Config Lcd = 16 *...
(at)tmf Chyba jednak nie rozumiem. Jeśli chodzi o ten fragment w funkcji uart_getc(). Sprawdzałem dokładnie analizatorem stanów logicznych co wysyłam z Matlaba. Każda z liczb kończy się w odpowiednim miejscu znakiem \n, czyli ten fragment jest raczej dobrze? Z tego co czytałem to przy przesyłaniu stringów bajt o wartości 0 nie powinien być przesłany....
Witam dziewczyny:) Mam prośbę a niewiem co zrobić. Mam 2 uK Atmega128. Obie podłączone przez RxD i TxD. Oto kod w 1 AVR który ma za zadanie tylko próbkować cały czas napięcie ADC i wysyłać do drugiego AVR: $regfile = "m128def.dat" $crystal = 16000000 $hwstack = 32 $swstack = 10 $framesize = 40 Dim W As Word Config Watchdog = 2048 Start Watchdog...
https://obrazki.elektroda.pl/9235682700_... Przedstawię tutaj poprawki, uruchomienie i rozwinięcie biblioteki ArduinoHttpServer na platformie Arduino R4 WiFi. Celem tematu będzie ułatwienie nam operacji związanych z protokołem HTTP, a dokładniej parsowania żądań HTTP (przetworzenie nagłówka, ścieżki zasobu oraz argumentów GET) oraz...
Mam nadzieje że ten kawałek kodu naprowadzi Cię na rozwiązanie problemu. sub on_sys_init sock.num=1 sock.txbuffrq(3) sock.rxbuffrq(5) sock.inconmode = PL_SOCK_INCONMODE_ANY_IP_ANY_PORT sock.reconmode=PL_SOCK_RECONMODE_3 sock.protocol=PL_SOCK_PROTOCOL_TCP sock.gendataarrivalevent=YES sock.targetbcast=NO sys.buffalloc end sub sub senddata(stringx...
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,...
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...
Udało mi sie pójść krok dalej, robot przestał wariować, ale kiedy próbuje wysłać mu coś przez RSa, nic się nie dzieje. Ogólnie kiedy włączam robota zapala się lampka przy RS, która odpowiada wysyłanie, a kiedy podłączam kabel do RSa to zapala się też lampka od odbioru. Kod z robota: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h>...
Witam Mam problem z odpaleniem usarta na atmedze16. Problem tym bardziej irytujący, że już kiedyś to zrobiłem i myślałem, że teraz podłącze wszystko będzie śmigać. W sumie nie wiem gdzie sedno problemu, bo program ten sam, a wygląda tak: #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <string.h> #define...
Witam. Mam pewien problem z UART. Próbuję zrealizować odbiór danych na Atmega8. Rzecz wydawałaby się prosta, ale jednek gdzieś mam błąd i nie mogę go znaleźć. Biblioteka jaką wykorzystuję jest napisana przez Peter'a Fleury. Wykorzystuje ona bufor cykliczny, więc samo odbieranie danych z rejestru i zapis do stringa są już realizowane przez bibliotekę....
Problem, w zasadzie coś co jest już wałkowane na forum wielokrotnie, ale mimo przeczytania kilku wątków nie znalazłem odpowiedzi. Otóż potrzebuję zrobić odbiór poprzez uart. Korzystam z Atmegi 32(w zestawie ewaluacyjnym, zewnętrzny kwarc) i środowiska WinAvr. Wysyłanie z mikrokontrolera udało mi się uruchomić, odbioru przez uC nie do końca. Komunikacja...
Jeśli pytasz o sens stosowania przerwania informującego o nadaniu znaku to zależy on od ciebie. W szczególności nikt nie każe ci go wykorzystywać, a z tego co piszesz wynika, że można się bez niego obejść skoro odbiór masz nieblokujący zrobiony na przerwaniach odbiornika. Oczywiście w ATMega można jednocześnie nadawać i odbierać - te dwa podsystemy...
Witam, Mam problem z odbiorem danych przez uC a od niedawna programuję w C. Mam takie procedury: void InitUART() { UBRRH = (uint8_t)(UBRRVAL >> 8); UBRRL = (uint8_t)UBRRVAL; /* Set the baud rate */ UCSRC = (1<<URSEL)|(1<<U... /* Set frame format: 8data,...
Witam Wszystkich. Mam problem z obsługą zewnętrznego przetwornika ADC. W swojej pracy chcę zastosować 12bit przetwornik MAX1270 (link do dokumentacji http://obrazki.elektroda.net/19_12175004... Udało mi się zrobić komunikację poprzez RS232 jak i transmisję przez SPI. Problem polega na tym, że wyskakują błędne wartości, np. jeśli ustawię przetwornik...
Witam, drogich forumowiczów. Mam problem z komunikacją kilku urządzeń w sieci rs485. A tak prawdę mówiąc to z komunikacją pomiedzy dwoma, jednym "master" i jednym "slave". Normalnie staram się zadawać pytania w ostateczności na forum Elektroda, ale po prawie 3 tygodniach siedzenia przy problemie, przeglądaniu masy poradników i postów związanych z rs485...
A to niby dlaczego nie wolno stosować waitms ??? U mnie jakoś działa przy wielu czujnikach na jednej linii i co to ma wspólnego z wysyłaniem przez uarta ? W tym przypadku waitms nie zakłóca obsługi przerwań, wiec nie widzę problemu. Kolega namieszał trochę w procedurze "odczyt". Na początku wyszukujesz czujniki na linii 1wire, a później, w procedurze...
Pokaż kod, bo może tam masz błąd. Kiedy dokonujesz pomiaru? Jak wygląda PCB? Nadajnik radiowy może impulsowo pobierać znaczne prądy, sieje też zakłóceniami, więc jeśli obwód jest źle zaprojektowany, to po prostu będziesz łapał śmieci. Jaką masz wartość nap. referencyjnego? Proszę program nadajnika Poprawiłem pisownię i dodałem znaczniki syntax.
Poprawiłem program w sterowniku i teraz potrafi odpowiadać na IP nadawcy oraz na dowolny port z którego przyszedł pakiet. Można bez problemu się z nim komunikować z internetu. Nie jest jeszcze ukończony ale do testów się teraz już nadaje. Jak go dokończę to wstawię tu cały jako załącznik. Może przyda się innym gdyż problem był wyjątkowo trudny i upierdliwy...
Jestem początkujący. Atmega jest ja wewnętrznym rezonatorze. Do odcytu i wysyłania danych korzystam z herkules-a. Baud 9600 Data size 8 parity none handshake off mode free. Tak jest w herkulesie. Zobaczcie kod. Wydaje mi sie że dobrze polutowałem i zgodnie ze schematem. http://obrazki.elektroda.net/78_12494181... $regfile = "m8def.dat"...
Witam Do paru dni usiłuje uruchomić banalny program odczytujący temperaturę z DS18b20 oparty na artykule zamieszczonym w necie: http://www.jaglarz.com/ja/elektronika/ds... Niestety nie udaje się uruchomić programu na wyświetlaczu -0.1 Znalazłem identyczny temat na elektrodzie ale bez konkretnej odpowiedzi http://www.elektroda.pl/rtvforum/topic18...
https://obrazki.elektroda.pl/7425086700_... Pokażę tu dwa praktyczne sposoby na pokonanie limitu długości odpowiedzi ostatnio bardzo popularnego ChatGPT. Oba sposoby są całkowicie darmowe, działają na publicznie dostępnym modelu oraz przede wszystkim sprawdzają się w praktyce, dzięki nim można generować naprawdę długie fragmenty kodów...
OK... No więc sprawa jest dość prosta (przynajmniej jak jest już gotowa :) ) * Przede wszystkim potrzebne są tablice z konwersją ASCII 7 bit na ASCII 8 bit i z powrotem (chyba, że robimy monolog w jedną stronę). ODBIÓR * Odbieramy ciąg znaków -> pojawia się problem, bo Siemens C35i, tak jak większość modemów, wysyła i odbiera dane w trybie ASCII...
Stanil, czego chciałbyś się dowiedzieć? Opis apki, podłączenia do radia oraz najważniejsze fragmenty schematu i opis działania znajdziesz w odpowiedziach powyżej. Witam, bardzo ciekawy projekt, jednak nie mam jasności co do przesyłania danych, wartości do tabletu z atmegi, np: pomiar napięcia lub jakiejkolwiek danej i czy ma to tutaj miejsce ? Na ścince...
Używam biblioteki pana Mirka. [syntax=c]/* * mkuart.c * * Created on: 2010-09-04 * Autor: Autor: Mirosław Kardaś */ #include <avr/io.h> #include <avr/interrupt.h> #include <stdlib.h> #include "mkuart.h" // definiujemy w końcu nasz bufor UART_RxBuf volatile char UART_RxBuf[UART_RX_BUF_SIZE]; // definiujemy indeksy określające ilość...
Chyba niepotrzebnie komplikujesz Sub tymi warunkami dodatkowo w każdym "Else" umieszczasz znak zakończenia. Gdybym miał "poprawić" taki kod to dodałbym w deklaracji ilość linii do wysłania. Wygląda na prostszy i nada zakończenie niezależnie od ilości danych :D [syntax=vbnet]Sub Send_gsm(byval Gsm_text1 As String * 15 , Byval Gsm_text2 As String * 15...
Witam w temacie AVR jestem bardzo początkujący więc proszę o wyrozumiałość. Chciałbym napisać program który po odebraniu sygnału po rs-232 steruje silniczkami dc (na L293D). Napisałem już inicjacje Uarta i wysyłanie danych z AVR do PC działa super (jest to najprostszy protokół bez buforów i sprawdzania poprawności danych. Jednak w żaden sposób nie mogę...
nie rozumiem na czym problem... przesłać 4 bajty tworzące floata (bajt po bajcie), odebrać 4 bajty i poskładać je w owego floata (bajt po bajcie)... wysyłanie: float data; ... for(i=0;i<4;i++) send(((uint8_t*)&dat... odbiór: float data; ... for(i=0;i<4;i++) ((uint8_t*)&data) ...
Proponował bym Ci na początek zrobienie komunikacji między PC a jednym z tych ATMEL-i. Wtedy będziesz wiedział o co chodzi. Mój program dla ATMEGA16 w BASCOM-ie wygląda tak: $crystal = 16000000 ' mam kwarc 16 Mhz $baud = 9600 ' prędkość na RS-ie Config Com1 = Dummy , Parity = None , Stopbits = 1 , Databits = 8 ' konfiguracja portu Echo Off ' nie chcę...
Witam, Możecie spojrzeć na ten kod (poniżej?) Problem jest taki że co bym nie robił zdarza się w niektórych wsadach że jakaś strona pamięci zostaje zapisana samymi 0xFF. (wgrywam wsad potem sprawdzam programatorem poprawność). Procesor Atmega32; 4mhz (RC); UART 9600 ////////////////////////////////////////... /*...
Witam Na wstępie powiem że nie jestem ekspertem w C. Pisze programik działający na Atmedze16. Mam dwa dwa układy Ram i RTC i muszę się z nimi dogadać przez SPI. I się nie dogaduje. Zeby zapisać cos i odczytać z Ramu muszę zapisać (dla zapisu) kod rozkazu - 8 bitów, adres komórki zapisywanej - 24 bity i dane - 8 bitów. Przy odczycie analogicznie rozkaz,...
https://obrazki.elektroda.pl/2807245700_... Witam, Temat odgrzany, i nie mojego autorstwa, ale warty przypomnienia. Potrzebowałem aby pewne urządzenie wystawiało mi do PCta kilka klawiszy klawiatury. Słyszałem już kiedyś o projekcie SWUSB pisanym w jedynym języku który choć trochę znam - Bascom. Zaprojektowałem jednostronną niewielką...
Witam Zbudowałem układ oparty o uC ATmega32 i połączyłem ją z Siemensa C35. Nie będę opisywał połączenia i wrzucał schematów bo to mi działa. Udało mi się odczytać z komórki: *Stan naładowania baterii *Siłę sygnału antenowego *Date i godzinę *Numer osoby dzwoniącej i zawiesiłem się na odczycie SMS-a. Wykrywam nowego sms-a poprzez zapytanie: Nowysms...
Wrzucam nową wersję programu bez użycia biblioteki LS020. Program jest przeróbką oscyloskopu autora Dirk Milewski. Znaki 5x8 są przechowywane w pamięci EEPROM -> polecam odpowiednio zaprogramować bit EESAVE. Wrzucam jedną z moich poprzednich wersji dla podniesienia apetytu. W prezentowanej wersji zdjęcia nie wymagają obrócenia o 90 stopni oraz wymagają...
Witam, Stworzyłem przetwornik do pomiarów kątów w przestrzeni. Z procesora Atmega 328p-pu (zewnetrzy kwarc 16MHz, BaudRate 9600) wysyłam ramkę: [syntax=c]printf("%4ld,%4ld,%4ld,%d,%d,%... ,xo,yo,zo,gyrox,gyroy,gyroz,stopnie);[/s... Po stronie odbiorczej napisaną mam aplikację w Visual C# Express. Tam dane rozdzielam do tablicy dane na podstawie...
Witam W zasadzie już zbliżam się ku koncowi stacji meteorologicznej z wykorzystaniem atmegi8 i PC. Z uwagi na funkcje jakie musze wykorzystać a wiec timer i USART wystapił problem. Wykorzystując timer1 generuje przerwanie co sekunde i licze czas aktualny. Podczas połączenia z komputera wysyłam na zasadzie: 1 znak z PC, a w odpowiedzi z Atmegi string...
Witam, w oparciu o przeczytane na forum posty (w szczególności http://www.elektroda.pl/rtvforum/topic14... stworzyłem poniższy kod, który w 99% działa. Poprawnie wysyła SMSy i poprawnie dzwoni w zależności od tego jaki guzik się naciśnie. Problem mam z odbiorem potwierdzeń z modułu SIM300CZ. Wiadome mi jest (po podłączeniu komputera), że na...
Witam, napiąłem program do obsługi termometru cyfrowego DS18B0, program kompiluje się bez błędu a po wgraniu na wyświetlaczu wyświetla się tylko -1.0. Proszę o sprawdzenie kodu bo nie wiem już gdzie jest błąd. DS18B20.H #ifndef ds18b20 #define ds18b20 #define WE0 #define PORT_1WIREPINC #define SET_1WIREDDRC &= ~_BV(WE) #define CLEAR_1WIREDDRC...
Mam problem z wysyłaniem i odebraniem z rs485. Jest to ATMEGA 8 + max485. [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <HD44780.c> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/eeprom.h> #include <avr/wdt.h> #include <stdio.h> #include <string.h> #include <stdlib.h>...
Witam! Mam następujący problem. Otóż złożyłem następujący układ komp(rs232) => max232 => atmega8 => LCD. Dane wysyłam z Delphi przy pomocy kontrolki ComPort. Po wysłaniu znaku do Atmegi , na wyświetlaczu oprócz znaku, pojawia się dziwny znak III na początku linii i w żaden sposób nie mogę go usunąć. http://obrazki.elektroda.pl/5016473400_1...
witam przedstawię kod zapożyczony od pixel7 i pozniej napiszę o co dokładnie mi chodzi - mam tel s55 podlaczony kom dzila jedynie co mam podpięte miedzy atmega a tel to TX->RX RX->TX i GND-GND narazie dzwonienie działa i wysyłanie sms nie wpełni ;) hehe chciałem wysłać do tel jakiegoś sms i coś sterować kod cały zapożyczony od autora (pixel7) tz bez...
Witam, potrzebuje wykonać komunikację pomiędzy Atmega a pc za pomocą przejściówki USB. problem mam podobny jak pod Z jednej strony w przejściówce jest błąd 0,15% (rezonator 12MHz), a po stronie ATMegi też 0,2% (8MHz) co niestety skumuluje się. Możesz spróbować w Twoim programie zwiększyć nieco baud rate ponad standardowe 4800 - na przykład 4815 - by...
Witam Obecnie walczę z odbiorem danych przez UART. Całość działa, ale mam wrażenie, że odbiór danych powinien być inaczej. Chodzi oczywiście o to, że treść odebranego SMS jest w drugiej linii i używany do tej pory kod wyświetla to trochę dziwnie. Używam trybu tekstowego i odebrane SMS'y wysyłam od razu na UART. komenda muszę dwa razy zrobić Mid. Jeszcze...
arduino wysyłanie string string atmega atmega string
pw3015 unitra rozruchowy danfoss lodowka szron
Jak naprawić klejący się palmrest laptopa? Asus H61M-K: Problem z dwoma kośćmi RAM 8GB 1600MHz