Nie wiem skąd opór używania funkcji, które są STANDARDEM . Nie ma nic bardziej denerwującego jak spotkam jakieś hieroglify w legacy code bo autor myślał że jest cool i napisał skanowanie stringa ręcznie. Parsowanie tej AT komendy to po prostu: [syntax=c] char str[] = "AT+CIPNTP? Time: 22:22:42 12/02/2014 GMT+02"; int h, m, s, dd, mm, yy, tzone; int...
Cześć Chciałbym przedstawić kolejny mój projekt, tym razem jest to sterownik CNC. https://obrazki.elektroda.pl/2364320600_... https://obrazki.elektroda.pl/6352873400_... Jest już na rynku masa różnego rodzaju sterowników obrabiarek CNC, jak zwykle jednak chciałem zrobić coś własnego. Najważniejsze założenia projektowe:...
[syntax=c] Dim msg As String msg = BytesToString( Packet.Data, Packet.Offset, Packet.Length, "UTF8") If msg.StartsWith("T") Then Dim dane() As String dane = Regex.Split(",", msg)'parsowanie stringa dane odzielone tokenem , EditText2.Text = dane(1) EditText4.Text = dane(3) End If [/syntax] Bardzo dziękuję za pomoc, śmiga aż miło :)
Witam Mam płytkę Loggera GPS + SD + PCF8563. Jeśli chodzi o GPS i zapis na SD wszytko jest OK. Problemem jest ( i to pierwszy raz się z czymś takim stykam ) odczyt danych z z układu PCF8563. Otóż dla pewnych wartości sekund, odczytana wartość czasu - godziny jest większa o 40 ( czterdzieści ). Czyli jeśli czas jest 22:40:02 to jest wyświetlany poprawnie,...
Nie wiem czy będziesz mógł ustawić Timeout bo jest od wersji 2076. Najwyżej zakomentuj. Reszta powinna działać. Poczytaj o "Config Serialin" i "Ischarwaiting" Tak dokładniej to Input czeka na Enter albo na to co ustawimy żeby czekał (Config Input) Jak Enter nie nadchodzi z powodu jakiegoś błędu to przydaje się Timeout. Najczesciej odbieram dane po jednym...
na końcu musi być wartownik stringa - znak o kodzie 0. Przy kopiowaniu nie zapomnij dopisać tego znaku.
Dobra okazja by to spie.... Jeśli jest to typowa filozofia Arduino, z delayami, odpytywaniem portów w pętli (a nie przerwania), to zabija większą aktywność Jak napisałem - wykorzystuje stack TCP I proste parsowanie stringa. Nie ma w tym magii, proste C portowalne na wiele platform. przyklad kodu parsowania: void parseudp(AsyncUDPPacket packet)...
W jednym Edit'cie to będziesz musiał wczytywać znak po znaku i sprawdzać aż do momentu wystąpienia interesującego Cie operatora (+,- ... ). Druga opcja to parsowanie gotowego Stringa.
dzięki folkien - właśnie czasami ciężko mi wpaść na rzecz oczywistą, mogę dopiero w funkcji parsującej stringa odjąć wykorzystywaną tam jego długość :)... niestety w delphi ReadLn nie zwraca długości stringa. JacekCZ - niestety jestem kiepsko resocjalizowany i jak już się tego za młodu nauczyłem to się tego trzymam do dziś. Application.ProcessMessages();...
Przy strumieniach zwróci Ci ładnie w kolejności tylko musisz dbać o porządek (kiedy wpisujesz String kiedy int ... i w takiej samej kolejności odczytywać!). Co do Twojego sposobu to możesz właśnie parsować Stringa umieszczając podczas zapisu konkretnej wartości jakiś znak ASCII np. (at) ((at)java(at)jest(at)12(at)...) można też przy mniejszej ilości...
Proponuję się zwrócić do producenta kompilatora którego używasz, bo zapewne nie jest to GCC. Swoje przypuszczenie opieram na tym, że w GCC twój kod działa (sprawdziłem teraz), a coś podobnego działa od lat (bo od lat sam używam makr do parsowania __DATE__ i zamiany tego stringa na wartości liczbowe). ... SYMBOL TABLE: ... 002001f8 l O .ARM.__at_0x08001F00000000004...
Jesli chesz dekodowac kazdy znak z osobna to wystarczy od niego odjac 0x30, atoi sluzy do parsowania calego stringa. Co bo bledu linkera przy korzystaniu z atoi to powinno wystarczyc dodanie #include <errno.h> bo wyglada na to ze dolaczasz nie standardowa biblioteke C. Poza tym nie bardzo wiem co ty robisz w tym kodzie. Wyglada na to ze nadajesz...
W ecomax.py masz definicje FRAME_GET_UID_ANS='\xB9', a w dalej masz funkcje analizatora ramek i widać że kod rozkazu jest na 8 bajcie [syntax=python] def frameAnalyze(self): if len(self.message)==0: return None,False order=self.message[7] [/syntax] poszukałem w twoich logach ramki z takim identyfikatorem na 8bajcie i podstawiłem do funkcji która analizuje...
A co znaczy parsowanie? Nie mylić z "prasowaniem" ;) A na poważnie: http://www.google.com/search?hl=pl&q=par... a w uproszczeniu w naszej branży - to analiza stringów ;) (nie mylić z częścią garderoby damskiej) .... podstawowy sposób analizy przesyłanych informacji poprzez różnego rodzaju łącza szeregowe. Najlepiej parsuje się w oparciu o TOKEN'y...
Hm.. jeśli długość ramki jest zależna od jej typu, to chyba trzeba obsłużyć wszystkie typy ramek, choć ciekaw jestem czy ktoś inny będzie miał jakiś pomysł. To co mi przychodzi jeszcze na myśl, to: - użyć informację o czasie, czyli na przykład agregujemy wszystko w buforze, a zaczynamy go parsować dopiero jak przerwa w odbieranych danych przekroczy...
1. Wczytujesz dane funkcją scanf() do stringa 2. Parsujesz dane i określasz wielkość tablicy 3. Na podstawie wyznaczonej wielkości tablicy deklarujesz wskaźnik do niej i alokujesz odpowiedni obszar pamięci przy pomocy malloc()
Widząc Twoje doświadczenie to z jeden dzień przy dobrych wiatrach Ci pójdzie na wgranie gołego RTOSa a drugi dzień na napisanie tego terminalu o którym mówisz :) Gotowca raczej nie dostaniesz, ale z drugiej strony napisanie terminalu np po UARcie to nic innego jak wysłanie tego znaku zachęty po uart i oczekiwanie na komendy co jest raczej proste. W...
Tu masz chyba błąd. Albo komentarz wprowadzający w błąd. O Jezu ale sie czepiasz. przeciez to widac ze nie chodzi o "new line" tylko o koniec stringa w C. W końcy to nie emulator Vt-52.
Czy ktoś może wie (lub pamięta) jak z komponentów Delphi poskładać coś co pozwala na dodanie dużej ilości rekordów (z pliku, stringa, etc) do gotowej (stacjonarnej, na dysku) bazy danych? Baza danych ma gotową przewidywalną strukturę i prawidłowo wyświetla mi się w komponencie TDBGrid, ale nie chcę jej edytować ręcznie, tylko wstawić tam gotowe rekordy....
generalnie interesujące - ujemna gługość stringa . Tak ze to 10000 też mi się podoba. Zapisujesz magicznie w powietrzu. Bo chyba atmegi tyle nie mają? Ale wracając nie sądze abyś dał sobie radę z parsowaniem danych - to zapoznaj się z funkcją sscanf. Zje co prawda 50 Twojego flash ale co tam. możesz też poczytać o strtok.
split podzieli Ci tego stringa ale niestety nie w taki sposób musiałbyś później to jeszcze przetworzyć istnieje jeszcze inny sposób lecz twoja lista w stringu musiałaby rzeczywiście reprezentować listę (poprawnie przedstawiać listę). Przykład: [syntax=python] import ast value = "['a', ['b', 'c', 'd', ['e', 'f']]]" mylist = ast.literal_eval(value) print(mylist)[/syntax]
Witajcie, pracuję właśnie nad pewnym algorytmem, który implementuję w matlabie, no i ma być w ramach tego napisany również interfejs użytkownika. Użytkownik ma możliwość wpisywania dowolnej funkcji nieliniowej na wejściu. Wszystko mi prawie działa, ale mam mały problem w momencie, gdy chcę pokazać rozwiązanie przy użyciu wykresu (tzn. graficznie). Problem...
dzięki Fredie -> udoskonaliłem już swoją funkcję: char * scanstrsp(char* str, char separator) { char *rt = str; while( (*str) && (*str!=separator) ) str++; buf = str; if ( *str ) { *str = 0; buf++; } return rt; } teraz chyba wygląda lepiej - a i w procku zajmuje o 12 bajtów mniej w pamięci...
Witam ponownie - trochę sam do siebie chyba piszę Zrobiłem taki sposób odbierania: Event ?
W żaden automatyczny sposób nie zamienisz takiego napisu na strukturę. Najrozsądniejszym wyjściem jest zupełne pozbycie się tego problemu i przesyłanie przez RS232 binarnej reprezentacji struktury, a nie napisu. Jeśli naprawdę chcesz parsować napis w mikrokontrolerze i nie kodować takiej konwersji ręcznie, możesz użyć takich funkcji jak sscanf (z stdio.h)...
Witam! Jak zrobić, żeby metoda zwracała parę danych? Wiadomo, że może ona mieć wiele argumentów wejściowych, ale tylko jeden zwracany. Obracam sie w działaniach na stringach. Moja metoda GetKeyword() robi coś a la parsowanie, czyli pobiera string wejściowy, znajduje w nim odpowiedni znacznik, powiedzmy: (at)(at), zza niego pobiera nazwę funkcji aż do...
Cześć. Robisz to odrobinę źle. W trybie ciągłym dodajesz kolejne linie na podstawie odczytanych danych. Powinieneś w tej funkcji kopiować odczytane dane do pomocniczego stringa, przeanalizować, czy znajduje się tam znak końca linii, jeżeli tak, to podzielić go na dwa stringi, jednego dokleić do ostatniej linii, a drugiego dodać jako nową linie. Niestety...
Jaki to moduł GPS i jaki modem GSM? Wstaw schemat, może to tam leży problem? Bez przerwań to słabo widzę niezawodność takiego lokalizatora ;) Nie rozumiem po co utrudniasz sobie program we wszystkich możliwych miejscach .. Po co stosujesz [syntax=c] for (x=0; x<82; x++) { [/syntax] jak można po prostu zerować licznik znaków przy odebraniu znaku końca...
Czym dokładnie różni się twój projekt od tamtego? Między innymi tym, że jest całkowicie mój. Poza tym LCDproc (program używany do obsługi lcd2usb) miał duże problemy ze zbieraniem danych które były mi potrzebne. Ten projekt ma inną komunikację (rs232), inny sposób obsługi i umożliwia sterowanie diodami z frontpanelu. Fajny projekt, z jakiej biblioteki...
Łapie ten wyjątek MySqlException - tyle ze nie moge go rzutować na stringa Exception nie jest stringiem, tylko obiektem. Dlatego pisałem żebyś go sobie podejrzał w debugerze, jakie ma pola i co się w nich znajduje. Sam komunikat wyjątku jako string apisany jest w exception.Message I jeszcze jedno pytanie: Mam grida który ma kolumny imie, nazwisko itd......
po tym wszystkim (to działa mi na komputrze) wygląda to tak że ta struktura posada jeszcze jedna strukutre ;] związaną z funkcjami, które są rejestrowane do każdego wykrycia ciągu znaków np register_func(tprs, motor, "Silnik"); rejestruje funkcje motor(TPARSER *tprs) o nazwie Silnik czyli jeżeli już wszystko jest ładnie pocięte, to przy porównywaniu...
Jeśli chodzi o cmd_timeout to chodzi o to, że wejscie RX kiedy pin używany jest przez USART nie jest niczym podciągane. Kiedy jest podłączony do drugiego urządzenia np. procesora lub MAX485 to problemu nie ma bo pin jest podciągany wyjściem TX tego uC lub MAX485. Kiedy jednak odłączysz to na pinie stan jest nieustalony i wpadają na USART śmieci. Ten...
Nie obraźcie się ale wasze sposoby parsowania/interpretowania ramki są przedziwne. Całość można zrobić w przerwaniu odbiornika UART. Np o tak: SIGNAL (SIG_UART_RECV) { // SKŁADANIE SŁÓW ZE ZNAKÓW RÓŻNYCH OD '$' i ',' if ( (odebranyZnak!=',') && (odebranyZnak!='$') ) { slowo[i++]=odebranyZnak; }...
Napisz to w C, będzie łatwiej o ile czujesz się na siłach. Zacznij od int main(int argc, char* argv[]) argv[1] to namiar na gcc.exe argv[2] aż do argv[argc-1] to parametry przekazane do gcc. Jeden z nich to namiar pliku .cpp który musisz zmodyfikować. Upraszczając szukanie możesz sprawdzić czy argv[x] kończy się na ."cpp", w końcu to...
Jednym ze sposobów jest użycie funkcji łańcuchowych. Odnajdujesz za pomocą odpowiedniej funkcji pozycję łańcucha "pressure", następnie wycinasz łańcuch rozpoczynający się trzy znaki za końcem "pressure" i długości 6 znaków i masz ciśnienie. Musisz tylko zwrócić uwagę na dwie rzeczy: 1. Musisz być pewien, że ciśnienie jest zawsze o długości 6 znaków....
Tak ale to już jest sam proces parsowania... sam odbiór naszej ramki czyli w tym wypadku stringu powinien być niezależny. Czynności parsowania powinieneś dokonać jak masz pewność że całą ramka odebrana jest prawidłowo... Natomiast sam format tej naszej umownej "ramki" powinieneś tak zaprojektować by wygodnie ci to było parsować oraz abyś miał możliwość...
Witam proszę o pomoć od jakiegoś czasu walcze z plikiem do odczytu danych z karty mam kod w Java ale nie mogę go uruchomić NetBeans IDE pokazuje mi błąd: C:\Documents and Settings\Iras\Moje dokumenty\NetBeansProjects\JavaApplicati... Source resource does not exist: C:\CzytajELS\nblibraries.properties BUILD FAILED (total...
ale może już jest coś takiego w C ? . C jest wręcz stworzone do takich rzeczy, do analizy / parsowania stringów, podzielonych na tokeny spójrz sobie na funkcje [syntax=c]strtok()[/syntax] oraz [syntax=c]strtok_r()[/syntax] są idealne do tego i zastępują ci wraz ze wskaźnikami wszystkie bascomowe wynalazki działając wydajniej i szybciej i lepiej ;)...
jest coś tkaiego jak DecimalFormatSymbols().setDecima... A jak nie to wczytuj do stringów, podmieniaj znaki na ten odczytany z analogicznej funkcji get i wtedy parsuj.
Witam Do istniejącego i działającego "urządzenie" chciałem dodać możliwość odbioru, parsowania i odesłania SMS'a zwrotnego z danymi. Cały kod: Linia1 - to wyświetla Uart_numer - Linia1 Linia2 - to wyświetla Komanda - Linia2 czyli działa OK Ale jak podepnę modem GSM ( SIM900D ) to Uart_numer jest puste, a Komanda pokazuje ( czasem ) jakieś teksty z pierwszej...
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]'****************************...
Pytanie za 100 punktów :-) mam połączone ESP32 z Arduino MEGA (jak powinno, przez układ logiczny 3v - 5v, bo bez tego bidolka ESP zaczęło się grzać) i wysyłam z komórki (BT Serial Terminal) polecenie (takie moje makro) pod przycisk ? Relay, 109, 1 ! komenda jest parsowana, wszystko super, oznacza - włącz wszystkie przekaźniki. Na ESP32 (serial.monitor)...
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...
(at)ElektrodaBot - Chciałbym napisać pod Linux-a serwer, który mógłby obsługiwać wiele połączeń od klientów, i mógł zidentyfikować proces klienta, bądź sprawdzać autentyczność identyfikacji podanej przez... Bezpośrednia odpowiedź - Najprościej, najbezpieczniej i najbardziej „idiotoodpornie” zidentyfikujesz proces klienta używając lokalnych gniazd UNIX...
długość stringa wyświetlać stringa bascom parsowanie
volvo silnika octavia lampa sennheiser bezprzewodowy
panel ves315unzh solar assistant
Samsung SQ-1000 instrukcja obsługi PDF, taśma barwiąca GR.153, zamienniki Brother AX-10 Renault Scénic III – gdzie podłączyć się do szybkiej szyny CAN poza OBD2