View Categories

PROGMEM

avr/pgmspace.h #

Информация относится к библиотеке avr/pgmspace.h для МК AVR, но для совместимости она поддерживается и в других платформах семейства Arduino, например ESP8266, ESP32.

Макросы и типы #

  • PGM_P - синоним const char * для строк в PGM памяти
  • PGM_VOID_P - синоним const void * для данных в PGM памяти
  • PROGMEM - синоним атрибута __ATTR_PROGMEM__ для помещения в PGM
  • PSTR(const char* s) - поместить строку в PGM

Чтение #

  • pgm_read_byte(addr) - прочитать 1 байт из PGM по адресу addr
  • pgm_read_word(addr) - прочитать 2 байта из PGM по адресу addr
  • pgm_read_dword(addr) - прочитать 4 байта из PGM по адресу addr
  • pgm_read_float(addr) - прочитать float из PGM по адресу addr
  • pgm_read_ptr(addr) - прочитать указатель из PGM по адресу addr

Байты, массивы #

Аналоги функций для работы с памятью для PROGMEM, здесь PGM_VOID_P - указатель на данные в PGM памяти:

memcpy_P #

void* memcpy_P(void* dest, PGM_VOID_P src, size_t n)
memccpy - копировать n байт из src в dest до значения val

memccpy_P #

void* memccpy_P(void* dest, PGM_VOID_P src, int val, size_t len)
memccpy - копировать n байт из src в dest до значения val

memcmp_P #

int memcmp_P(const void* s1, PGM_VOID_P s2, size_t len)
memcmp - сравнить s1 и s2 на длине len

memchr_P #

PGM_VOID_P memchr_P(PGM_VOID_P s, int val, size_t len)
memchr - искать val в области s длиной len с начала

memrchr_P #

PGM_VOID_P memrchr_P(PGM_VOID_P s, int val, size_t len)
memrchr - искать val в области s длиной len с конца

memmem_P #

void* memmem_P(const void* s1, size_t len1, PGM_VOID_P s2, size_t len2)
memmem - сравнить s1 длиной len1 с s2 длиной len2

Строки #

Аналоги функций для работы со строками для PROGMEM, здесь PGM_P - указатель на строку в PGM памяти:

strlen_P #

size_t strlen_P(PGM_P s)
strlen - длина строки

strnlen_P #

size_t strnlen_P(PGM_P src, size_t len)
strnlen - длина строки, не более len

strcpy_P #

char* strcpy_P(char* dest, PGM_P src)
strcpy - копировать PGM строку из src в dest буфер

strncpy_P #

char* strncpy_P(char* dest, PGM_P src, size_t n)
strncpy - копировать PGM строку из src в dest буфер

strlcpy_P #

size_t strlcpy_P(char* dst, PGM_P src, size_t size)
strlcpy - копировать PGM строку из src в dest буфер размером size

strcat_P #

char* strcat_P(char* dest, PGM_P src)
strcat - прибавить строку src к буферу dest

strncat_P #

char* strncat_P(char* dest, PGM_P src, size_t len)
strncat - прибавить строку src к буферу dest

strlcat_P #

size_t strlcat_P(char* dst, PGM_P src, size_t size)
strlcat - прибавить строку src к буферу dest размером size

strcmp_P #

int strcmp_P(const char* s1, PGM_P s2)
strcmp - сравнить строки

strncmp_P #

int strncmp_P(const char* s1, PGM_P s2, size_t n)
strncmp - сравнить первые n символов строк

strcasecmp_P #

int strcasecmp_P(const char* s1, PGM_P s2)
strcasecmp - сравнить строки без учёта регистра букв

strncasecmp_P #

int strncasecmp_P(const char* s1, PGM_P s2, size_t n)
strncasecmp - сравнить первые n символов строк без учёта регистра букв

strchr_P #

PGM_P strchr_P(PGM_P s, int val)
strchr - найти символ в строке с начала

strrchr_P #

PGM_P strrchr_P(PGM_P s, int val)
strrchr - найти символ в строке с конца

strstr_P #

PGM_P strstr_P(const char* s1, PGM_P s2)
strstr - найти подстроку

strcasestr_P #

PGM_P strcasestr_P(const char* s1, PGM_P s2)
strcasestr - найти подстроку без учёта регистра букв

strspn_P #

size_t strspn_P(const char* s, PGM_P accept)
strspn - выделить начало строки, состоящее из символов accept

strcspn_P #

size_t strcspn_P(const char* s, PGM_P reject)
strcspn - выделить начало строки до любого из символов reject

strpbrk_P #

PGM_P strpbrk_P(const char* s, PGM_P accept)
strpbrk - выделить начало строки до любого из символов accept

strtok_P #

char* strtok_P(char* s, PGM_P delim)
strtok - токенизация

strtok_rP #

char* strtok_rP(char* string, PGM_P delim, char** last)
strtok_r - токенизация
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх