error: httpTable causes a section type conflict
- Войдите на сайт для отправки комментариев
Сб, 08/03/2014 - 16:15
Проблема странная:
Есть один рабочий код (web-server), в котором для экономии оперативки используется PROGMEM.
Код без проблем компилируется и работает.
Пытаюсь объединить с другим, тоже без проблем работающим кодом (основная библиотека iBoardRF24) - вылетают грабли:
error: httpTable causes a section type conflict
// Строки для формирования HTTP-ответов PROGMEM prog_char httpHead[] = "HTTP/1.0 200 OK\nServer: arduino\nCache-Control: no-store, no-cache, must-revalidate\nPragma: no-cache\nConnection: close\nContent-Type: application/json\n\n"; PROGMEM prog_char badRequest[] = "{ \"message\": \"Bad request\" }"; PROGMEM prog_char noAnswer[] = "{ \"message\": \"No answer\" }"; PROGMEM prog_char jsonTmpl[] = "{\"message\": \"OK\",\"sensor\": %d,\"parameter\": {\"pid\": %d,\"pval\": %s,\"st\": %d,\"note\": \"%s\"}}"; PGM_P httpTable[] PROGMEM = { httpHead, badRequest, noAnswer, jsonTmpl };
Удивительно, что коды по отдельности работают, а вот вместе - дают такую странную ошибку. По библиотеке iBoardRF24 "полазил", вроде как никаких конфликтов не должно быть...
Что это? Как лечить?
Сам себе отвечаю: посмотрел, как в библиотеке iBoardRF24 организована работа с PROGMEM и привел свой код в такой же порядок:
Теперь компилируется и работает как надо.