Я написал код на Android, который работает, но он не работает при компиляции для "универсальной платы 8266".
У меня есть двумерный массив символов, поскольку строковые массивы не принимаются в компиляторе 8266.
Он настроен как набор буферов и массив указателей, указывающих на них.
char buffer0[80] ; // storage containers
char buffer1[80] ;
char buffer2[80] ;
char buffer5[80] ;
char buffer6[80] ; // buffer used to transport strings
// Matrix of char buffers using pointers
char *Scans[] = {"buffer0 , buffer1 , buffer2 , buffer3 , buffer4 , buffer5"};
Компилируется нормально и не вызывает проблем со стеком. Я посмотрел ответы на Stackoverflow, но ответы являются минусами или работают только для строк в одном массиве символов, а не в многомерном и не из массива обратно в строку для печати или использования слишком управляющей программы.
Но у меня были проблемы, включая проблемы со стеком, код ошибки 28/29, которые не были обнаружены компилятором при его запуске на ESP-01, который основан на плате ESP8266.
Я использовал #include для компиляции кода.
Я пытался
char* strcpy_P(mess,Scans[0]);
mess.toCharArray(buffer0, 80);
mess.toCharArray(Scans[i], 80);
strcpy_P(Scans[i], mess);
Mess - это строка, которую я хочу поместить в массив в контролируемом цикле переменной "i".
Я также перепробовал все символы * в и из строк в
https://arduino -esp8266.readthedocs.io / ен / последний / PROGMEM.html? Выделить = ул # функции для чтения-обратно-от-PROGMEM
и ни один из них не работает на 8266.
Я хочу иметь возможность хранить компиляцию нескольких строк в одну строку. Затем скопируйте его в один из массивов символов (bufferx) внутри цикла, используя i, чтобы указать, в какой буфер помещать строку. Все они с разных станций Wi-Fi, поэтому их нельзя объединять.
Затем удалите его из правильного номера массива, чтобы распечатать его в виде строк в электронном письме.
Он должен компилироваться на ESP8266WiFi.h и не падать с ошибками стека, так как он будет работать автономно без последовательного порта для вывода ошибок в.