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...
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)
[syntax=c]char j[20]; fscanf(wxf2, "%s", j);[/syntax] Ale gdzie tu jakaś konwersja?
Witam!!! Potrzebuje skonwertować CStringa do const char w VC++ 2008. Pisząc programy w poprzednich wersjach visuala kopiowałem CStringa do chara funkcją strcpy() i był gnot:-) niestety w VC++ 2008 to nie działa i po 2 godzinach szukania i kombinowania nie bardzo mam pomysł jak to zrobić... Podejrzewam że rozwiązanie nie jest jakieś trudne więc proszę...
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...
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=cpp]Pracownik::Pracownik(const char* imie, const char* nazwisko, const Data data_ur) { strcpy(Pracownik::pszImie,imie); }[/syntax] Sprawdź ;)
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...
Robiłem coś podobnego :) Przerób sobie co do sortowania po długości słowa to albo licz znaki w elemencie tablicy do napotkania \0 lub sizeof() i podziel przez rozmiar chara to otrzymasz ilość znaków w słowie z tablicy a później quick sortem i gotowe, dynamiczna alokacja pamięci jest czyli zależnie ile losuje liczb tyle rezerwuje się miejsca na tablicę...
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.
Dzięki teraz wszystko gra:)))) Niedługo bedę potrzebował przerobic obsługe kodu CRC8 tzn. mam w delphi ale chcialbym przerobić na visual basic. Bo ta płytka w ten sposób sprawdza sobie kontrole transmisji. Bez tego bym musiał z czytac kody CRC8 wszystkich możliwch kombinacji ustawien przekaźników w monitorze portów. Jak wszystko zadziala to umiesze...
chara jest już zadeklarowane jako uint8_t, więc nie ma potrzeby rzutowania. Zbędnego rzutowania należy unikać, bo utrudnia to wykrywanie błędow w programie. Ja mam troche inne zdanie. We wszelkich operacjach arytmetycznych powinno sie uzywac konwersji typow nawet jezeli sa nadmiarowe. Dzieki temu mozemy czasami uniknac pomylek. Odsylam do C Codic Standard....
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ć
url = "https://cex.io/api/ticker/GHS/BTC" "param" jest w tym wypadku pusty. Mam jeszcze funkcje z urlami, które wykorzystują param, ale na razie chcę przetestować bez. A komentowanie nic nie da, bo program nie wywala błędu, tylko parametr otrzymany ze strony jest pusty. Błąd znam z "oglądania" parametru postit podczas debugowania. EDIT: Takie są kody...
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.
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.
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);...
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....
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]...
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...
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...
Nie używam Keila ale coś takiego powinno wystarczyć [syntax=c]const unsigned char tablica[] = {dane}; const unsigned char *pointer pointer = tablica;[/syntax]
[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 ;)
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...
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...
Witam Spróbuj zmienić char *Label; na char const *Label;
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...
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...
[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]
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 }...
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...
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,...
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...
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,...
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...
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...
hmm. z spook_config.h tego: #ifndef __SPOOK_CONFGIG_H__ #define __SPOOK_CONFGIG_H__ //#include <board_config.h> #define FRAME_HEAP 20 #define SPOOK_MAX_FRAME_SIZE 0/*352*288*3*/ #define SPOOK_PORT 7070 #define JPEG_ENCODER_NAME "jpeg_dvp" #define JPEG_ENCODER2_NAME "jpeg_usb" #define FILE_JPEG_ENCODER_NAME "jpeg_file" #define JPEG_FRAMEINC 1 #define...
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ą?...
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...
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....
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...
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]
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...
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...
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...
a probowales tak T1 = atoi( (const char*)test ); ?
ż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>...
chara const chara konwersja const chara const chara const
instalacja drugie akumulator podgrzewacz junkers wymiana grzałki
modulacja kocioł beretta modulacja kocioł beretta
Whirlpool UW8F2YXBIF – wyjście z trybu serwisowego, kombinacja SW1+SW2, reset, defrost Akumulator 6 G 80 – interpretacja oznaczenia, rodzaj, technologia, pojemność 80 Ah