|
bin2carray, Моя версия |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 26)
|
Jun 28 2016, 13:19
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Kabdim @ Jun 28 2016, 15:10)  пользовался https://github.com/tristan2468/Hexyно прочитал что можно линкер заставить просто включить бинарный файл в образ. В след. раз пожалуй воспользуюсь им. Не всегда удобно пользоваться таким методом. Допустим, я создал пиктограммы и мне нужно их объявить в проекте. На мой взгляд, удобно объявить несколько массивов данных. Это одно из применений утилиты. Другое, чем я пользовался - создание загрузчика на РС для обновления прошивки МК. В проекте программы обновления можно объявить массив новой прошивки, созданный моей утилитой. Цитата(ViKo @ Jun 25 2016, 22:58)  А я в Matlab сделал m-файл, который вычисляет мне массивы оконных функций для БПФ и записывает их в виде h-файла, который копирую и добавляю в проект Keil. Еще и комментариев напихал в шапку и не только. Я Вас глубоко поздравляю - но как Ваше "А я" относится к моей теме?
--------------------
|
|
|
|
|
Jun 28 2016, 14:02
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362

|
Цитата(prottoss @ Jun 28 2016, 16:53)  Ну это Вы чего то ждете - я просто выложил свой проект (как в общем и другие) тем, кому он будет полезен. Ну и - перестаньте флудить. Для "Я смог бы" откройте тему с таким заголовком. Я не жду. Пишу, что считаю нужным. Можете стукануть на меня модераторам. Они почистят. Я сделал так: CODE %{ ******************************************************************************* @file FFT_Windows.m @author ViKo @brief Calculate and write to file Windows Coefficients @note Delete a comma at end of each array */ %}
clear; FFT_P = 10; % степень размера БПФ FFT_N = 2 ^ FFT_P; % размер БПФ
for (i = 1 : FFT_P) angle = pi / (2 ^ (FFT_P - i)); AC(i) = round(cos(angle) * 100000000) / 100000000; AS(i) = round(-sin(angle) * 100000000) / 100000000; end
WindHann = hann(FFT_N); WindHamm = hamming(FFT_N); WindBart = bartlett(FFT_N); WindFlat = flattopwin(FFT_N);
fid = fopen('FFT_Windows.h', 'w');
fprintf(fid, '\n'); fprintf(fid, ... '/*!**************************************************************************** *\n'); fprintf(fid, ... ' @file\t\tFFT_Windows.h\n'); fprintf(fid, ... ' @author\t\n'); fprintf(fid, ... ' @brief\t\t%d dots Windows for Fast Fourier Transform\n', FFT_N); fprintf(fid, ... ' @note\t\tGenerated with MATLAB, delete commas at ends of arrays manually!\n'); fprintf(fid, ... ' *******************************************************************************/\n\n');
fprintf(fid, '/* Cosinus angle step */\n'); fprintf(fid, 'static const float AC[] = {\n'); fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', AC); fprintf(fid, '};\n\n');
fprintf(fid, '/* Sinus angle step */\n'); fprintf(fid, 'static const float AS[] = {\n'); fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', AS); fprintf(fid, '};\n\n');
fprintf(fid, '/* Hann Window */\n'); fprintf(fid, 'static const float WindHann[] = {\n'); fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', WindHann); fprintf(fid, '};\n\n');
fprintf(fid, '/* Hamming Window */\n'); fprintf(fid, 'static const float WindHamm[] = {\n'); fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', WindHamm); fprintf(fid, '};\n\n');
fprintf(fid, '/* Bartlett Window */\n'); fprintf(fid, 'static const float WindBart[] = {\n'); fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', WindBart); fprintf(fid, '};\n\n');
fprintf(fid, '/* Flattop Window */\n'); fprintf(fid, 'static const float WindFlat[] = {\n'); fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', WindFlat); fprintf(fid, '};\n\n');
fclose(fid);
|
|
|
|
|
Jun 28 2016, 14:29
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (prottoss @ Jun 28 2016, 17:19)  И не смотрите, если Вас это не интересует  Интересует. Пользуюсь одной из множества утилит, котрые выполняют возлагаемые на них функции. В чем цимус Вышей? QUOTE Вообще топик был создан для тех, кому это нужно и кому это интересно. Прочитайте написанное выше. Мне нужно и интересно. Интересно зачем была создана Ваша.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 28 2016, 15:28
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
Цитата(zltigo @ Jun 28 2016, 17:07)  Не смотрел. Если скажете, чем привлекательнее, например, этой: http://osdk.defence-force.org/index?page=d...subpage=bin2txt обещаю посмотреть. Ну так даже смотреть необязательно, достаточно описание прочитать (ссылка - в первом же сообщении). Оно умеет считать CRC (миллионом разных способов. не лень было..  ) и добивать массив до нужного размера. Наверное, у половины здесь присутствующих подобные утилиты есть. Я тоже делал, но строго заточенную под нужную задачу - что-то общее делать категорически лень. Так что совершенно не понимаю, в чём prottoss виноват. Есть, кстати, ещё более универсальная SRecord. Там, правда, ключи писать с непривычки мозг ломается...
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
|
Jun 28 2016, 16:18
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (esaulenka @ Jun 28 2016, 18:28)  Ну так даже смотреть необязательно, достаточно описание прочитать (ссылка - в первом же сообщении). Оно умеет считать CRC (миллионом разных способов. не лень было..  ) Уму нерастяжимо зачем бы это было нужно  . Ну и ОЧЕРЕДНОЙ раз повторю - я АВТОРА спрашивал о цели создания данного произведения, что хотел сказать, свет чего донести широким массам программистов. Рекламная акция, так сказать. QUOTE и добивать массив до нужного размера. Тоже станновато, тем более, что можно просто поставить любое число размера в опеределении массива. QUOTE Наверное, у половины здесь присутствующих подобные утилиты есть. Есть. Но самописные-то? Зачем? QUOTE Есть, кстати, ещё более универсальная SRecord. Там, правда, ключи писать с непривычки мозг ломается... В свое время пользовал, но как ни странно ее автору удалось наделать ошибок. Полагаю исправили со временем, но пользоваться перестал.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jun 28 2016, 16:43
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(AlexandrY @ Jun 28 2016, 22:18)  - конвертирует сразу пачку файлов - может начать конвертацию файла с любого смещения, конвертировать только часть файла, - может конвертировать больше чем размер файла с произвольным заполнением - данные в 8-и, 16-и, 32-х битном представлении - формат представления десятичный или шестнадцатеричный - можно добавлять коментарии - произвольное имя для массивов - автонумерация массивов при пакетной конвертации - никакой командной строки, чисто GUI - все настройки и таблица запоминаются и восстанавливаются при следующем запуске программы. Давайте: - конвертирует сразу пачку файлов - это в батнике можно сделать -фтопку. - может начать конвертацию файла с любого смещения, конвертировать только часть файла, - да, это может пригодится, если нужно выкинуть хедер, например в BMP файле и оставить только тело с палитрой... Блин, но это уже другая утилита... А еще для чего? - данные в 8-и, 16-и, 32-х битном представлении - в Big или Litte Endian? - формат представления десятичный или шестнадцатеричный - Это зачем? Фтопку. - можно добавлять коментарии - Возможно... - произвольное имя для массивов - В моей утилите есть. - автонумерация массивов при пакетной конвертации -Это че такое? - никакой командной строки, чисто GUIТ.е. только Windows? - все настройки и таблица запоминаются и восстанавливаются при следующем запуске программы. См. п.1. Цитата(AlexandrY @ Jun 28 2016, 22:18)  Пятьдесят мегабайт кода написали пока мы тут трепались??? Ну это...это... просто чудо! Да. О моих бубенчиках читайте на странице программы
--------------------
|
|
|
|
Guest_TSerg_*
|
Jun 28 2016, 17:15
|
Guests

|
Обычный треп ни о чем. ИМХО.
|
|
|
|
|
Jun 28 2016, 18:04
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(ViKo @ Jun 28 2016, 18:02)  Я сделал так: Код ... fprintf(fid, ' %.7E, %.7E, %.7E, %.7E,\n', AC); ... Благодарствую! Тоже думал над этой темой, но совершенно не владею Матлабом. По поводу процитированного фрагмента кода - вижу запись только четырёх значений, а как же остальные? Это такой своеобразный цикл?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|