OK jeśli nie chce ci się tego zrobic w sposób reczny "przeleć po wszystkim", tylko tak jak ty to sobie wymiśliłeś to poczytaj o funkcji: [syntax=c]char * strpbrk ( const char *, const char * ); >[/syntax] ktora znajduje się w <cstring> poprawiłem styl mojej wypowiedzi, bo 5x przeczytałem swoją pierwszą odpowiedz i nic z niej niz zrozumiałem.
[syntax=c]char j[20]; fscanf(wxf2, "%s", j);[/syntax] Ale gdzie tu jakaś konwersja?
Jak widać nie jest. Tak się akurat składa, że program akurat jest dobrze napisany tylko API do tego WiFi jest lewe. Pewnie napisał go jakis przeciwnik const. A prosta rada: wyrzuć "const" Ta prosta porada nie zadziała. Błąd kompilacji pojawi się w innym miejscu. Rozwiązaniem jest: 1. Rzutowanie przy wywołaniu WiFi.begin 2. Zadeklarowanie ssid oraz...
Chodziło mi o wykorzystanie tej funkcji tylko do znalezienia znaków ? i & . Przeanalizuj gotowca: [syntax=c]char strStartsWith(const char* s, const char* startsWith) { for (;;) { if (*startsWith == '\0') return 1; if (*s != *startsWith) return 0; ++s; ++startsWith; } } char getChrVal(const char* const s, const char* const key, char& variable) { if...
[syntax=cpp]Pracownik::Pracownik(const char* imie, const char* nazwisko, const Data data_ur) { strcpy(Pracownik::pszImie,imie); }[/syntax] Sprawdź ;)
Program działa poprawnie, ale kompilator czepia się nieprawidłowych definicji. Popraw int * na char *. Z const char zrób samo char i zobacz, co na to kompilator? Nie wiem czy czytałeś książkę "Język ANSI C" Brian W. Kernighan, Dennis M. Ritchie? Ci panowie stworzyli język C i dobrze wyjaśniają jak się nim posługiwać. Cała reszta zależy od kompilatora.
To jest pierwsz przymiarka do funkcji która będzie doklejać znaki, jednak w niej jest jakiś błąd którego nie potrafie namierzyć: char *add(const char *lancuch, const char znak) { char *nowy; nowy=(char *)malloc(strlen(lancuch)... strcpy(nowy,lancuch); nowy[strlen(lancuch)]=zn... free(lancuch);...
Takie coś się kompiluje, ale pisałem z głowy, więc trochę chyba te typy trzeba poprawić: bool exists in the current C - C99, but not in C89/90. Teraz można to uruchomić i testować i poprawiać
Co do ostrzeżenia: void lcd_chr(unsigned char xsize, unsigned char ysize, unsigned char xpos, unsigned char ypos, const unsigned char *chr) Jak masz tablicę cost, to musisz zagwarantować, że ptr też nie bedzie zmienial danych.
Spróbuj tego kodu: [syntax=c]#include "U8glib.h" #include <SPI.h> #include <Wire.h> #include "max6675.h" U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C int currentTemp = 0; String thisTemp = ""; int maxTemp = 0; // maximum temperature reached int minTemp = 0; // minimum temperature reached int pad = 0; int thermoDO = 8; int thermoCS...
Jaką masz wersje biblioteki ESP Async WebServer, AsyncTCP ? Być może masz niekompatybilne ze sobą wersje. Ja obecnie używam ESP Async 3.6.0, AsyncTCP 3.3.2 Próbowałeś zmienić plik h: [syntax=c]int code, const char* contentType = asyncsrv::empty, const char* content = asyncsrv::emp na int code, const char* contentType = "", const char* content = ""[/syntax]...
Zajrzałeś do [url=http://www.nongnu.org/avr-libc/user... Pewnie nie. Masz tam przykłady odczytu danych z pamięci flash, np: [syntax=c] byte = pgm_read_byte(&(mydata[i][j])); [/syntax] Więc powinno wystarczyć coś takiego: [syntax=c] char str1[] PROGMEM = "String 1"; char str2[] PROGMEM = "String 2"; struct{ uint8_t a; const...
Mam jeszcze jedno pytanie, jak przekonwertować string na "const char * ", ponieważ potrzebuję użyć const char *, a nie string. [syntax=c]String s; const char * tekst = s.c_str().[/syntax] https://www.arduino.cc/reference/en/lang...
A czemu nie sprawdzasz ile znaków oczekuje w buforze Serial (wartość zwracana przez available ())? Na tej podstawie możesz od razu "przeprocesowac" tyle znaków, ile zostało faktycznie odebranych - delay (100) w pętli mocno przyczynia się do tego, że tych oczekujących znaków będzie więcej niż jeden. dodatkowo przy kompilacji pojawia się ostrzerzenie...
Tak udało się zamieniając definicje w pliku /wiringPi/drcNET.h na /********* struct drcNetStruct { uint32_t pin ; uint32_t cmd ; uint32_t data ; } ; **************/ #ifdef __cplusplus extern "C" { #endif extern int drcSetupNet (const int pinBase, const int numPins, const char *ipAddress, const char *port, const char *password) ; #ifdef __cplusplus }...
[syntax=c] int i; int suma_af = 0; const unsigned char * p = (const unsigned char *)&data for (i = 0; i < sizeof(my_type)l i++) { suma_af += p[i]; } [/syntax] Zakładam, że struktura jest upakowna ;)
Serial to jakieś 30% całości. W tym momencie program jest za duży o jakieś 7% (~300 bajtów). Do tego celu używam kona arduino Blue pro micro ( odczytywane przez kompilator jako leonardo ). Problem w tym, że to nie koniec rozbudowy programy, a jedynie początek Czyli wstępnie, jak już nadmieniono, sprzęt za słaby do zadania. Ale możesz się pobawić np...
W indekserze tego nie zmienisz chyba. te przypisana są właśnie po to aby nie było warningów "unused variable". ale przecież tego warningu gcc Ci chyba nie generuje przy kompilacji Ja w gcc (bo praktycznie tylko gcc używam robię tak w przypadku funkcji, które bedę pisac w przyszłości. [syntax=c]#define unused __attribute__((unused)) int _execve_r(struct...
Nie używam Keila ale coś takiego powinno wystarczyć [syntax=c]const unsigned char tablica[] = {dane}; const unsigned char *pointer pointer = tablica;[/syntax]
Coś na kształt: [syntax=cpp]void Send_Text(const char *text) { const char *ptr; uint32_t row,m,p; uint8_t y,i; for(y=1;y;y<<=1) { row=0; m=1; for(ptr=text;*ptr;++ptr,m<<=1) { p=5*(*ptr-' '); for(i=0;i<5;++i,m<<=1) { if(font5x8[p+i]&y) row|=m; } } Send_Napis((uint8_t*)&row,4); } }[/syntax]
ale użyj funkcji strncpy funkcja strncpy jest nezwykle niebezpieczna. Ma jedną przykrą właściwość że nie null terminuje stringu jeżeli max ilość znaków jest mniejsza niż długość stringu. Zakazana w kernelu Linuxa. Tak przy okazji opinia Linusa: https://obrazki.elektroda.pl/7688101300_... Jak chcesz coś bezpiecznego to musisz niestety...
Znalazłem bufor o rozmiarze 128 w części autoexec.bat. Zrobiłem szybkie wyszukiwanie :-) plik: src/cmnds/cmd_main.c Linia 940. commandResult_t CMD_ExecuteCommand(const char* s, int cmdFlags) { const char* p; const char* args; char copy[128]; Czy linia w pliku autoexec.bat jest zbyt długa, aby została poprawnie wykonana? Edit: Sprawdziłem ciąg wewnątrz...
int strcmp( const char *tab1, const char *tab2 ); if (strcmp<0) { LCD_WriteText("-1"); } if (strcmp==0) { LCD_WriteText(" 0"); } if (strcmp>0) { LCD_WriteText("+1"); } ; Nie tak się tego używa. Zamień na: int wynik= strcmp(tab1,...
Witam Spróbuj zmienić char *Label; na char const *Label;
[syntax=c]__flash const char txt[] = {"JAKIS NAPIS"}; void LCD_Char(char data) { //funkcja wyświetlająca znak "data" } void LCD_Str(const char * text) { uint16_t i=0; while(text[i]) LCD_Char(text[i++]); } int main() { LCD_Str(txt); }[/syntax]
Zmień [syntax=arduino] const char s_cmdPowerOff[] PROGMEM = "PWRON"; const char s_cmdPowerOffDesc[] PROGMEM = "Powers on the device in the programming socket" [/syntax] na to: [syntax=arduino] const char s_cmdPowerOn[] PROGMEM = "PWRON"; const char s_cmdPowerOnDesc[] PROGMEM = "Powers on the device in the programming socket" [/syntax]
Jest trochę błędów... Ale jeśli chodzi o "permission denied" to możesz mieć np. ten sam plik otwarty w edytorze, albo ustawiony atrybut read only. Samo dopisanie linijki do pliku jest dużo prostsze: void dopiszLinijke(const char* nazwa, const char* linia) { FILE* plik = fopen(nazwa, "at"); /* otwórz w trybie dopisywania...
to skoro padła odpowiedz jak poradzić sobie z problemem to powiem co poszło nie tak. w językach kompilowanych, na przykład C oprócz zwykłej tablicy istnieje także statyczna czysta tablica. [syntax=c]const char tablica[liczba][/syntax] gdzie liczba to naprzykład [syntax=c]#define liczba 100[/syntax] podczas przejścia preprocesora jak kompilator widzi...
Takie operacje możesz zrobić np. za pomocą memcpy (ręcznie musisz dodać null) lub strncpy - char *strncpy(char *s1, const char *s2, size_t n). Funkcja ta kopiuje n znaków z łańcucha s2 do s1, początek łańcucha s2 możesz określić poprzez &s2[nr znaku), tak więc twój przykład wyglądałby następująco: strncpy(string9, &string8[5], 4); Pamiętaj, że łańcuchy...
Należy pamiętać, że w nowszych wersjach avr-libc nie należy używać PROGMEM do deklaracji typu: Typedef Documentation prog_char Note: DEPRECATED This typedef is now deprecated because the usage of the __progmem__ attribute on a type is not supported in GCC. However, the use of the __progmem__ attribute on a variable declaration is supported, and this...
Strcpy: char *strcpy(char *dest, const char *src); Co to jest numer[13]? Chcesz skopiować char * do char? To się skompilowało?
Bezpieczniej i lepiej wg mnie w takich sytuacjach zamiast: [syntax=c] static char *hello = "Witaj Swiecie!"; static char *msg = "PUTCHAR Napis: ";[/syntax] używać: [syntax=c] static const char hello[] = "Witaj Swiecie!"; static const char msg[] = "PUTCHAR Napis: ";[/syntax] 1. I tak nie manipulujesz potem tymi wskaźnikami na string więc po co one są?...
Zdaje się, że pominąłeś deklarację typu elementu tablicy jako char, czyli są inty. Więc ten napis chyba tam jest, tylko litery będą oddzielone zerami. Spróbuj dodać tam char, np. static const char test[] = {...} Nie było żadnych ostrzeżeń kompilatora w tej linijce? Druga opcja jest taka, że linker wyrzuca tą tablicę ze względu na brak odwołań, ale wtedy...
powinieneś zapoznać się z avr-libc-user-manual standrdowa funkcja do łączenia stringów: 6.20.3.11 char ∗ strcat (char ∗ dest, const char ∗ src) Concatenate two strings. The strcat() function appends the src string to the dest string overwriti acter at the end of dest, and then adds a terminating ’\0’ character. The overlap,...
Korzystając z symulacji typu Transient otrzymam wykres przebiegu prądu anodowego (wykres w załączniku), a zmieniając oś x (Time) na oś napięcia na anodzie V(X1:A) W zasadzie w ten sposób wykonuje się to w laboratorium, chociaż prąd bramki jest wtedy zmienny. Prąd anodowy wyznaczany jest na podstawie spadku napięcia na rezystorze. Próbowałem w LTSpice...
Proszę bardzo! [syntax=c] #include <fcntl.h> #include <errno.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <dirent.h> #include <sys/types.h> /*Function dir_elem_number return number of elements in directory "dir_path"*/ int dir_elem_number(const char *dir_path) { DIR *dp; struct dirent...
Liczba: 8002930403 ma 10 cyfr, wiec raczej będziesz potrzebował bufora znaków (char *) o długości o jeden większego, by na ostatnim miejscu umieścić 0. Jednak liczba 20 000 000 000 ma 11 cyfr, więc buffor możesz odrazy zrobić na 12 znaków. Następnie możliwe że tracisz dokładność w wyniku działania tych trzech operacji: (12000000000/4095)*data.ctrl....
Zrozumiałem to, nie wiedziałem, że zmienne mogą być wyższe niż pętla i konfiguracja i zrobiłem je podobnie do twojego przykładu #include <ArduinoHttpServer.h> const char *ssidglobal; const char *passglobal; .. in class .. ssidglobal = set->inner.sta_ssid; passglobal = set->inner.sta_pass; ... A teraz działa w pętli, jak chcę. ... status...
Zamiast "client.print("kod html");" użyj "client.print(PSTR("kod html"));" To jest dla starego kompilatora, ale jeśli twój program daje się łatwo skompilować, to pewnie taki właśnie masz. W pliku "ETHER_28j60.h": [syntax=c] void print(const char* text); //dodajesz tą linię między "void print(char* text);" i "void print(int value);" [/syntax] W pliku...
Hej, uczę się już jakiś czas programowania ale co raz napotykam na jeden problem z którym nie mogę się uporać.Chodzi mianowicie i porównywanie znaków typu char a głównie o komunikat:"Error:argument of type "char" is incompatible with parameter of type "const char*". Program do napisania pobiera od użytkownika ciąg znaków reprezentujący dowolny napis...
Statyczny adres IP nie jest obecnie zaimplementowany. https://github.com/openshwprojects/OpenB... Ta funkcja wymaga aktualizacji: Dodano po 5 (at)advian1 Jutro mogę spróbować dodać polecenie oszczędzania energii
żywając PROGMEM (makro F() dla łańcuchów tekstowych) A kompiluje Ci to? Mnie w Arduino IDE działa tylko tam gdzie jest wydruk na serial i operacje w ten deseń... Faktycznie jest jeden "babol" z użyciem __FlashStringHelper * jako argumentu w konstruktorze MenuItem(), ale można to obejść. Poniżej poprawiony kod "Hello World". [syntax=c] #include <MenuBackend.h>...
Nie jestem pewien o co ci chodzi ale podam maly przyklad: char buffer[50]; strcpy(buffer, "abc+defg-hij 123 456"); const char delmiters[] = { 0x20, '+', '-' }; char* token = (char*)strtok( buffer, delmiters ); while (token) { printf("token = %s\n", token); token...
a probowales tak T1 = atoi( (const char*)test ); ?
Ten znak na pewno jest na końcu łańcucha, bo jak wyrzucam łańcuch na wyświetlacz, to po łańcuchu jest dodany jeden "krzak". To będę musiał po jednym znaku pobierać i szesnastkowo wyświetlać, bo inaczej to nie wiem jak. EDIT: strcpy( lancuch, bufor ); error: cannot convert 'String' to 'char*' for argument '1' to 'char* strcpy(char*, const char*)'
Masz gotowca: [syntax=c] //--------------------------------------... void InterpretujCmd( char znak ) { char const StrErrVal[] = "(at)Ev\r\n"; char const StrErrUnkown[] = "(at)Eu\r\n"; #define MAX_LEN_CMD 50 char static p = 0, cmd[MAX_LEN_CMD]; int cnt; char static buffer_str[100]; u32 baud; cmd[p] = znak; if ( p < MAX_LEN_CMD...
IC=f(IB) przy UCE= const, lecz gdy robimy wykres wygląda on ostatecznie identycznie jak charakterystyka wejściowa Bo tak ma wyglądać - podobnie. http://ea.elportal.pl/bipolarne.html - porównaj 4.1.6 z 4.1.8. Tyle, że sens obu jest różny.
(at)darex120 na pierwszym zdjęciu to ostrzeżenia a nie błędy. Dodaj "const" w plikach "hd44780.{h,cpp}": [syntax=c]//hd44789.h void sendstring(const char *text); void sendstringformat(const char *szFormat, ...); //hd44789.cpp void HD44780::sendstring(const char *text) {...} void HD44780::sendstringformat(const char *szFormat, ...) {...}[/syntax] Skoro...
W tym układzie co pokazałeś to mierzysz: Ic=f(Uce) dla Ib=const β=Ic/Ib Na tych wykresach to widzisz tylko że przy stałym Ib, Ic rośnie ze wzrostem Uce (czyli β też rośnie ze wzrostem Uce, niewiele ale zawsze)
Charakterystyka wyjściowa służy do ustalenia punktu pracy wzmacniacza( jest w 1 ćwiartce) A gdzie tam, wcale nie jest potrzebna do wyznaczenia punktu pracy. Iwy(Uwy) dla Iwe=const.Tylko nie wiem jak się za to zabrać I w sumie, to nigdy nie widziałem charakterystyki wyjściowej dla WE. I jak tak patrze na tą twoją definicje to będzie ciekawie wyglądała....
Może sprawdź takie rozwiązanie: [syntax=c]#include <iostream> #include <cstring> #include <cctype> using namespace std; char getChar(const char *msg,const char *good) { while(true) { cout<<msg; char sign; cin>>sign; sign=toupper(sign); if(strchr(good,sign)) return sign; cout<<"Podales nieodpowiedni znak, musi pochodzic...
O, następny zjadacz RAMu: char *daysName napisz to tak: [syntax=c]__flash const char * __flash const daysName[] = { (__flash const char[]){"Wt"}, (__flash const char[]){"Sr"}, (__flash const char[]){"Cz"}, (__flash const char[]){"Pt"} //...itd }; __flash const char* RTC_GetDayName(uint8_t dayOfWeek) { return daysName[dayOfWeek%7]; } //main.c //... __flash...
Użyj rozszerzenia gcc dla AVR: __flash [syntax=c] struct record { uint16_t pos; const __flash char *txt; } ; const struct record tab[] = { {940, (const __flash char[]){"txt940"}}, {789, (const __flash char[]){"txt789"}}, {115, (const __flash char[]){"txt115"}} }; [/syntax] PS: oczywiscie sama tablica również może rezydować w pamięci flash: [syntax=c]...
Występuje wyjątek bo nastepuje dostęp RW do pamięci flash ktora jest tylko do odczytu a wszystkie stałe umieszczane są bezpośrednio we flash. Najprościej do funkcji dodać jeszcze jeden argument ze wskaźnikiem na bufor wyjściowy. [syntax=c]char *STRING_DeleteStr(char * dst, const char *string, const char *del, u8 mode)[/syntax]
Może napisze jaśniej: [syntax=c]void str_zamien( char* tekst, char* stary_wzorzec, char* nowy_wzorzec);[/syntax] Taki nagłówek funkcji umożliwia jedynie napisanie funkcji, która zakłada że nowy tekst zmieści się w aktualnym miejscu. Nie oznacza to, że musi być krótszy - tylko że tablica tekst jest dostatecznie długa. Niestety funkcja taka nawet nie...
A dlaczego nie skorzystać z dobrodziejstw Named Address Spaces? [syntax=c]const char T1[] PROGMEM = {"DS1307"}; const char T2[] PROGMEM = {"TESTER"}; const char * menu[2] PROGMEM = {T1, T2};[/syntax] To można od razu uprościć do [syntax=c] const char __flash * const __ flash menu[] = { (const char __flash []){"DS1307"}, (const char __flash []){"TESTER"}...
Można to zrobić tak: #include <stdio.h> #include <stdlib.h> struct key{ char *w; char *z; }; typedef struct key2 { char *w; char *z; } nasz_typ; const int tab_size = 100; struct key * tab; nasz_typ * tab2; int main() { tab = (struct key *) malloc(sizeof(struct key) * tab_size); tab2...
ma total_increasing a nie measurement Super, czyli problem rozwiązany, tak? Może w przyszłości pomogłoby dodanie dziennika, w którym jest różnica bool CheckForKeyVal(cJSON *tmp, const char *key, const char *value) { ... if (!strcmp(ret, value)) { return true; } else { printf("CheckForKeyVar error '%s'<>'%s'",ret,...
Dziękuję. Znalazłem tam funkcję [syntax=c]char *strtok(char *str, const char *delim)[/syntax] Ale mam błąd konwersji string do char. Szczerze mówiąc, to odkąd zająłem się Arduino, jakieś kilka dni temu, to wciąż mam problemy z różnicą char i String.
Nie wierzę, że wszystkie 5 nowych tranzystorów jest niesprawna. Raczej niemożliwe aby były niesprawne ze sklepu, chociaż teraz po testach - kto wie? Bo przy tych testach to masz jakiś "głupi" błąd typu pomylone końcówki. Sugerujesz dodać jeszcze rezystor przed pin drenu (tak jak na schemacie- na zielono)? Opornik miał być jako ograniczenie prądu (jeśli...
Czyściłeś cały projekt? Już chciałem napisać, że to genialna i jakże prosta odpowiedź, ale niestety to też nie pomogło ;( Spróbowałem czegoś innego. Po następującej zmianie: [syntax=c]const char cmd1[] PROGMEM = "PRINT"; const char cmd2[] PROGMEM = "START"; const char cmd3[] PROGMEM = "STOP"; const char cmd4[] PROGMEM = "CLR"; const char cmd5[] PROGMEM...
Niestety nie mam żadnego filmiku. Sprawuje się REWELACYJNIE. Za to podrzucę Ci gotowca bo ten na stronie wymaga sporo poprawek i domysłów co gdzie jest. Jest to wersja pierwotna która przechowuje w tablicy RAM. Funkcje których tutaj nie ma robią: LCDINIT - inicjalizacja wyświetlacza LCD_POS - ustawia pozycję: wiersz, kolumna LCD_CLS - czyści ekran LCD_PSTR...
Raczej: [syntax=cpp]const char* tablica = "costam";[/syntax]W C++ string literals ("costam") są typu const char[n], a próba ich modyfikacji (np przez wskaźnik do nich) wykopie nas do świata niezdefiniowanego zachowania, nie mówiąc już o tym, że na nowszych kompilatorach nareszcie dostaje się przynajmniej ostrzeżenie za taki kod, więc... Po prostu dodaj...
Przepraszam cię R-MIK Ale naprawdę musisz jaśniej bo jeżeli chodzi o Dodano po 5 exit status 1 too few arguments to function 'char* strcat(char*, const char*)'
Napisałem własną wersje funkcji strncat. Kompilator wyrzuca błąd segmentation fault (core dumped) Czy ktoś wie co jest źle napisane? [syntax=c]#include <stdio.h> #include <string.h> char *moja_strncat(char *s1,const char *s2,int ile); int main(void) { char *s1 = "ave maria"; char *s2 = "gratia plena"; puts(s1); puts(s2); moja_strncat(s1,s2,4);...
Kolega pisze w C i nie umie "na kolanie" takiego programu napisać? Może: #include <stdio.h> const char* naglowek = "const char tablica_hex[] = {"; const char* stopka = "};"; void wypisz_liczbe(const char* liczba) { printf("\t0x%s,\n", liczba); } int main(void) {...
#include <ESP8266WiFi.h> const char* ssid = ",,,,,,,"; // const char* password = "............................."; // void setup() { Serial.begin(115200); // Kod do łączenia z WiFi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } // Po połączeniu z WiFi if (WiFi.status() == WL_CONNECTED) { Serial.print("Adres...
Kompilator prawidłowo założył, że te ciągi nie będą zmieniane, bo nie mogą. Skoro zmienna jest typu char*, a nie const char*, to kompilator nie może sobie "założyć", że łańcuch tekstowy wskazywany przez ten wskaźnik nie może być modyfikowany. To tak, jakby założyć, że elementy tablicy znaków wskazywanych przez char* czy char[] nie mogą być modyfikowane....
Używam IAR-a i zdarzyło mi się umieszczać stałe we flashu. Używa się do tego słów __flash lub __farflash. To pierwsze słowo umieszcza stałą w obszarze pierwszych 64kB flash-a (adres <= 0xFFFF), to drugie dalej (adres > 0xFFFF). Różnica jest taka, że dostęp do zmiennej __flash jest nieco szybszy niż __farflash. Aha, w mojej wersji IAR-a (2.28A)...
Stworzyłem prostą apke w mit app inventer. Super. To teraz pokaż jeszcze ten prosty kod dla ESP, bo same deklaracje zmiennych, to trochę za mało dla kryształowej kuli ;) Ogólnie to ogarnąłem, ale problem w tym, że nie wiem jak to zrobiłem, tzn. wiem, ale co to zmieniło, że działa to już nie wiem :D Ten kod działa tzn. łączy się z publicznym brokerem...
No racja. To pozostaje opcja 3) i funkcja konwertująca polskie znaki z UTF8 do Win1250: Funkcja korzysta z dodatkowego bufora (z zabezpieczeniem przepełnienia), aby można było wygodnie stosować zapis: [syntax=c]tft.drawString(utf8ToWin1250("... gęślą jaźń ZAŻÓŁĆ GĘŚŁĄ JAŹŃ"), 1 + (1 / 2), 1 + tft.fontHeight() * 2 + 6);[/syntax] [syntax=c]#define...
spoko dowiedziałem sie na innym forum co jest grane :] to co napsiałeś to akurat prawda ale nie widzisz problemu który opisałem problem polega na niezgodności typów, mianowicie char tab[20]; // tak naprawde typ char const* tab = "cos"; // inaczej char const* = char* niezgodność typów a przy stałych można przypisywać im wartość tylko...
Aby wyjaśnić Ci Twój problem, podaję Ci metodę "czytania" typów zmiennych, który wyjaśnia wszystko. Jest kilka zasad: 1. Czytanie zaczynamy od nazwy zmiennej 2. Czytamy w prawo dopóki nie dojdziemy do "końca", po osiągnięciu "końca" czytamy w lewo od nazwy zmiennej 3. Obowiązują nawiasy, które są "lokalnymi końcami" Tak więc: const char * const l_wartosc[]...
Oj chyba kolega część książki mówiącą o tablicach przekartkował. ;) [syntax=c]char we_love[] = "cookies!"; // kompilator sam obliczy rozmiar tablicy i skopiuje "cookies!" do niej. char highway_to[4] = "Hel"; // tutaj również tablica będzie kopią "Hel" const char* swiety = "Mikołaj"; // swiety to wskaźnik na const char, zawiera adres literału "Mikołaj",...
Witam! Błędy są w instrukcjach if . 1) Zamiast: [syntax=c] if (imie[strlen(imie)] == "a") y = 2; else y = 1;[/syntax] powinno być: [syntax=c] if (imie[strlen(imie) - 1] == 'a') y = 2: else y = 1;[/syntax] Jeśli chcesz testować ostatnią literę tekstu, to ostatnią pozycją znakową ciągu jest: [syntax=c]imie[strlen(ciag) - 1][/syntax] ponieważ kolejne znaki...
[syntax=c]const char *str=s.c_str();[/syntax] lub: [syntax=c]char *str=&s[0];[/syntax]
Coś bardziej - zapomnij, jeszcze jakąś ogólną koncepcję AI jest w stanie zarysować, ale generowanie kodu na zasadzie copy&paste do własnego projektu to zapomnij. Mysłałem że choć wykresy jakies da zrobić - ale nie. Ale kod komentuje generalnie dobrze - analiza tego co jest jest dość dobrze zrobiona. Nawet znajduje błędy. Widać że te duże modele jązykowe...
Mam pytanie odnośnie warninga który wyrzuca mi kompilator... Dla takiego kodu wyrzuca: sscanf(liczba,"%d",&przerw... Warning:passing argument 1 of 'sscanf' from incompatible pointer type W opisie tej funkcji jest: int sscanf ( const char * str, const char * format, ...); Problem udało mi się rozwiązać przez rzutowanie na: (char...
Witam, zajrzałem do tej biblioteki do pliku "src/Graphics/Graphics.h". Funkcja print(const char c) nie uwzględnia drukowania nowej linii, tak jak to robi print(const char *str). Twój przykład drukuje wszystkie znaki z odebranego tekstu w jednym miejscu (vga.setCursor) jeden na drugim, a na samym końcu drukuje \n, bez przeniesienia do nowej linii. Pozdrawiam....
W jednej funkcji: [syntax=cpp] void test() { char testing[] = " Rzeczywistosc to juz nie to co kiedys. "; cout << testing; }[/syntax] ew. w dwóch: [syntax=cpp] void piszTekst(const char *txt) { cout << txt; } void test() { char testing[] = " Rzeczywistosc to juz nie to co kiedys. "; piszTekst(testing); }[/syntax] Powinno działać.[/code]
Po wyjściu z funkcji ginie, W takim razie nie rozumiem dlaczego strcpy działa? Ono też jako argument przyjmuje wskaźnik: char * strcpy( char * dest, const char * src ); Przypadek.....
string_compare() działa prawidłowo. Wrzuć i przetestuj poniższy kod w CManiaku online: http://mikrokontrolery.blogspot.com/p/cm... [syntax=c]#include <stdio.h> unsigned char string_compare (const char search[], const char find[]) { unsigned char i; for (i=0; (search[i] == find[i]) && search[i]; i++); if...
Odświeżam. W linku projekt w programie Kail - [url=http://www.sendspace.pl/file/5e252c... Wersja GNUARM - [url=http://www.gnuarm.com/bu-2.17_gcc-4... Poniżej przedstawiam co zawiera biblioteka stdlib w tej wersji GNUARM [syntax=c]/* * stdlib.h * * Definitions for common types, variables, and functions....
https://obrazki.elektroda.pl/7238862200_... Niedawno w dziale DIY pojawił się Hardware Hardware jest tak banalne, że nie odważyłem się zaprezentować niniejszego artykułu jako DIY :). Od pewnego czasu wykorzystuję SONOFFy jako bazę projektów opartych o ESP8266. Sonoff zapewnia mi ESP, zasilanie i obudowę. Jedyne co mi pozostało to dodanie...
Operacje na stringach mogą być niebezpieczne, szczególnie, jeśli dostajesz stringi z zewnątrz Poczytałem, faktycznie śliski temat. Rozumiem ryzyko. Ciekawe rozwiązanie problemu jest poniżej: 5. Te wywołania strcat() są beztroskie. Czy chodzi Ci o ryzyko jakie z tego płynie? Zauważ, że np "strcat(txframe,IMEI);" tctframe ma 230 bajtów a IMEI ma 15 jednak...
Witam, mam pytanko, bo już mnie czasem szlaczek trafia, - jak czytać tą dokumentację GCC załącząoną w HTML gdy instaluje się AVRGCC ??? albo może z jakiego innego źródła można mieć na szybko pod ręką normalne, ludzkie opisy - podstawowych bibliotek i standardowych poleceń w GCC dla AVRków oczywiście??? chodzi mi o to, że np teraz muszę pobawić się trochę...
sprobuj tak: #include <avr/pgmspace.h> // dane : const char tekst1[] PROGMEM = "tekst"; const char tekst2[] PROGMEM = "Czolem"; const char tekst3[] PROGMEM = "To jest dlugi tekst"; const char tekst4[] PROGMEM = "No i co teraz ?"; Ten kod spowoduje umieszczenie lancuchow...
Trochę się zamotałem. Mam taką sytuację: Warning:assignment discards 'const' qualifier from pointer target type Chcę, aby maszynka od menu wyświetlała teksty w wybranym języku, czyli dostawała adres jednej z tablic zawierającej wskaźniki do napisów. Już miałem to zrobione w starszym gcc według [url=http://www.nongnu.org/avr-libc/user...
Dziękuje za konkretną i zrozumiałą odpowiedź. Tylko jeśli zrobię to tak : byte const LGc[8] PROGMEM = { B00111, B01111, B11111, B11111, B11111, B11111, B11111, B11111 }; to w jaki sposób to wyświetlić i przenieść ? // Read a byte of character data OneByte = pgm_read_byte(&Seg7_segtbl[i... mało mi to mówi, jakaś...
1. Dlaczego po prostu nie napiszesz: [syntax=cpp]char z[] = {60, 60, 3, 60, static_cast<char>(value), 0};[/syntax] 2. Część implementacji interpretuje bajt 0 jako \0 czyli koniec stringa. Prawdopodobnie tak jest w twoim przypadku, gdyż port->write nie przyjmuje długości tablicy którą chcesz wysłać. Napisz co to jest "port", z jakiej biblioteki...
Nawet nie kompiluje.. string nazwa="test.txt"; //cin>>nazwa; FILE *plik=fopen(nazwa.c_str,"r"... komunikat: 719 argument of type `const char*(std::basic_string<c... std::char_traits<char>, std::allocator<char> >::)() const' does not match `const char*'...
(at)p.kaczmarek2 - Muszę zmienić zmienną 'energyCounterSampleInterval' z domyślnych 10W na wyższą wartość. Czy możesz mi podać poprawną składnię, aby to zrobić w poleceniach startowych? Czy pytasz, jak dodać polecenie modyfikujące zmienną typu float w kodzie C? Oto przykład: [syntax=c] static commandResult_t CMD_Sample(const void* context, const char*...
Nie działa miało znaczyć że wymyśliłem to sobie na poczekaniu aby zobrazować o co dokładnie mi chodzi :) Poczytałem troszkę i zmajstrowałem takie coś: system("ftp -s:getstatus.dat"+ip).c_str() Ale wywala mi takie coś: [Error] cannot convert 'std::basic_string<char>' to 'const char*' for argument '1' to 'int system(const char*)'
Cześć Mam kłopot z odczytem stringów z pamięci Flash a następnie zapisanie ich na kartę SD. Mój kod wygląda następująco: [syntax=c] #include "gpx.h" #include <avr/pgmspace.h> const char gpx_1[] PROGMEM = "ala\n"; const char gpx_2[] PROGMEM = "ma\n"; const char gpx_3[] PROGMEM = "kota\n"; const char gpx_4[] PROGMEM = "i"; const char gpx_5[] PROGMEM...
Cześć. To moje pierwsze podejście do Arduino IDE. Znalazłem w necie taki kod Plik con_wifi.ino #include "MyWiFiLib.h" void setup() { Serial.begin(115200); delay(1000); MyWiFiLib wifiLib; const char* ssid = "wifi"; // Zdefiniuj swoją nazwę sieci WiFi const char* password = "abc123abc123"; //...
assignment of read-only location '* nazwa_pliku' mam taki błąd w momencie gdy zmieniłem char na const char
Co by się stało z etykietami zawierającymi znaki specjalne lub spacje? Czy to by coś zepsuło? Co więcej, myślę, że należałoby również zmodyfikować kod wykrywania HASS. Mimo to mógłbym się zgodzić na taką modyfikację, jeśli umieścisz ją pod flagą, która jest domyślnie wyłączona, przynajmniej na razie. Jest to ważne, ponieważ jeśli włączysz to domyślnie,...
Dodano po 3 Witam ponownie Program sie uruchomil ale w monitorze portu pokazuje caly czas ,ze uklad podlaczyl sie do Wifi i pozniej caly czas czekaj , czekaj , czekaj itd. Nie jestem pewien ale czy czasem nie nalezy dopisac dantych sieci Wifi w paru innych miejscach ?
Witam mam problem z: int cmp(string pol2, string pol3) { cout<<endl<<pol2<<endl... plik1=fopen(pol2); if(plik.good()==true) { //tu operacje na pliku }else std::cout<<"Dostep do pliku zostal zabroniony!"<<std::en... plik2=fopen(pol3);...
To co jest napisane pobiera datę ,czas i wyświetla w terminalu jeśli to działa to wypadało by zapisać to do zegara DS1307 do wyboru trzy funkcje : void setDateTime(uint16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second); void setDateTime(uint32_t t); void setDateTime(const char* date, const char* time); Wcześniej trzeba...
chara const chara konwersja const chara const chara const
subwoofer półka zasilacz impulsowy startuje autoalarm astry
szybko migające kierunkowskazy reklamacja wtryskiwacze
Objawy uszkodzonej kostki elektrycznej skrzyni biegów Mercedes A170 Zastępcze protokoły CAN-BUS dla radia NCS RS-304 w Kia Ceed 2009