scalak4 Napisano Listopad 9, 2023 Udostępnij Napisano Listopad 9, 2023 (edytowany) #include <avr/io.h> #include <avr/pgmspace.h> uint8_t znajdz_ciag(const char wejscie[], const char *szukanyCiag) ; const char help[] PROGMEM = "help"; const char *const helpPointer PROGMEM = help; void main(){ while(1){ if (znajdz_ciag(dane, helpPointer)) { ........ } } } uint8_t znajdz_ciag(const char wejscie[], const char *szukanyCiag) { //, char buforSzukanyCiag [20]; strcpy_P(buforSzukanyCiag, (char*)pgm_read_word(&(szukanyCiag))); char *znaleziony = strstr(wejscie, buforSzukanyCiag); wysylanie_tablicString(buforSzukanyCiag); // tu sprawdzam co jest w buforze i wychodzi że zamiast "help" są tam jakieś śmieci. return 1; // Znaleziono ciąg, zwracamy 1 } else { return 0; // Nie znaleziono ciągu, zwracamy 0 } } Problem polega na tym, że w buforze buforSzukanyCiag pojawiają się smieci, dlatego funkcja strstr() nie działa. Dodam jeszcze w głównej pętli while funkcja strcpy_P(buforSzukanyCiag, (char*)pgm_read_word(&(szukanyCiag))); bez problemu przekazuje prawidłowe dane do buforu. W funkcji niestety nie chce. Proszę o pomoc. Edytowano Listopad 9, 2023 przez scalak4 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »