У меня есть строка символов из 8, но файл WAV , который я пытаюсь импортировать в мой проект Arduino.Я заявляю это так:
const unsigned char sounddata_data[] PROGMEM = "€€[fill these brackets in with 6500 other characters]";
Когда я пытаюсь запустить этот код, компилятор не выдает мне ошибок.Он просто зависает и никогда не завершает компиляцию.Я знаю, что это эта строка, потому что, если я объявляю это более короткой строкой или другими типами объявлений (например, ставим запятые между каждым символом), это работает.
Есть ли ограничение длины строки в коде Arduino, которое меня останавливает?
Если мне нужно просто принять это и поставить запятые между каждым символом, есть ли хороший метод?
Я всегда мог бы написать простую программу для этого, но у меня есть несколько звуковфайлы для конвертации, и я хочу, чтобы код легко и просто читался.
Редактировать
В итоге я просто написал программу.Он преобразует каждый байт данных в int
, разделенных запятыми.Меня все еще беспокоит, что старый способ не сработает, и таким образом он займет больше времени, но, по крайней мере, у меня есть кое-что, чтобы вернуться к
#include <stdio.h>
int main(int argc, char *argv[]) {
FILE *r, *w;
unsigned char ch;
r = fopen(argv[1], "rb");
w = fopen("out.txt", "w");
while (fscanf(r, "%c", &ch) != EOF) {
fprintf(w, "%d, ", (int)ch);
}
return 1;
}