реклама на сайте
подробности

 
 
> bin2carray, Моя версия
prottoss
сообщение Jun 25 2016, 15:50
Сообщение #1


Гуру
******

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



Всем доброго времени суток.
Выложил свою версию консольной утилиты преобразующий любой файл в текстовый файл с объявленным массивом на языке Си. Есть исходники и скомпилированная версия под Windows (VC 2015).
Так же, надеюсь, сможет собраться на Linux - к сожалению, нет опыта программирования под эту ОС.

Страница программы - http://prottoss.com/projects/bin2carray/bin2carray.htm


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Kabdim
сообщение Jun 28 2016, 09:10
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



пользовался https://github.com/tristan2468/Hexy
но прочитал что можно линкер заставить просто включить бинарный файл в образ. В след. раз пожалуй воспользуюсь им.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jun 28 2016, 13:19
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 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. Еще и комментариев напихал в шапку и не только.
Я Вас глубоко поздравляю - но как Ваше "А я" относится к моей теме?


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 28 2016, 13:40
Сообщение #4


Универсальный солдатик
******

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



Цитата(prottoss @ Jun 28 2016, 16:19) *
Я Вас глубоко поздравляю - но как Ваше "А я" относится к моей теме?

Наверное, при желании, я смог бы в Matlab аналогичным образом и текстовый файл оформить.

Я показал альтернативный вариант. А вы чего ждали, создавая тему? "Ух, ты, молоток!"?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jun 28 2016, 13:53
Сообщение #5


Гуру
******

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



Цитата(ViKo @ Jun 28 2016, 19:40) *
А вы чего ждали, создавая тему? "Ух, ты, молоток!"?
Ну это Вы чего то ждете - я просто выложил свой проект (как в общем и другие) тем, кому он будет полезен.


Цитата(ViKo @ Jun 28 2016, 19:40) *
Наверное, при желании, я смог бы...
Ну и - перестаньте флудить. Для "Я смог бы" откройте тему с таким заголовком.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 28 2016, 14:02
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 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);

Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 28 2016, 18:04
Сообщение #7


Любитель
*****

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



Цитата(ViKo @ Jun 28 2016, 18:02) *
Я сделал так:
Код
...
fprintf(fid, '  %.7E, %.7E, %.7E, %.7E,\n', AC);
...

Благодарствую!
Тоже думал над этой темой, но совершенно не владею Матлабом.


По поводу процитированного фрагмента кода - вижу запись только четырёх значений, а как же остальные?
Это такой своеобразный цикл?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 28 2016, 18:30
Сообщение #8


Универсальный солдатик
******

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



Цитата(sonycman @ Jun 28 2016, 21:04) *
По поводу процитированного фрагмента кода - вижу запись только четырёх значений, а как же остальные?
Это такой своеобразный цикл?

Да, это формат задан. Выводятся все элементы массива (в данном случае - AC), до последнего. По 4 в строке.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jun 28 2016, 21:05
Сообщение #9


Любитель
*****

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



Цитата(ViKo @ Jun 28 2016, 22:30) *
Да, это формат задан. Выводятся все элементы массива (в данном случае - AC), до последнего. По 4 в строке.

Так и думал sm.gif

Было бы здорово, если бы ещё можно было увидеть форму функции на графике, прямо там, в матлабе... rolleyes.gif

ЗЫ: извиняюсь за офтоп, больше не буду bb-offtopic.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- prottoss   bin2carray   Jun 25 2016, 15:50
- - ViKo   А я в Matlab сделал m-файл, который вычисляет мне ...   Jun 25 2016, 16:58
|- - prottoss   Цитата(ViKo @ Jun 28 2016, 20:02) Пишу, ч...   Jun 28 2016, 14:19
||- - zltigo   QUOTE (prottoss @ Jun 28 2016, 17:19) И н...   Jun 28 2016, 14:29
||- - prottoss   Цитата(zltigo @ Jun 28 2016, 20:29) Интер...   Jun 28 2016, 15:01
||- - zltigo   QUOTE (prottoss @ Jun 28 2016, 18:01) Хоч...   Jun 28 2016, 15:23
|- - ViKo   Цитата(sonycman @ Jun 29 2016, 00:05) Был...   Jun 28 2016, 21:55
- - zltigo   QUOTE (prottoss @ Jun 25 2016, 18:50) Выл...   Jun 28 2016, 14:07
|- - esaulenka   Цитата(zltigo @ Jun 28 2016, 17:07) Не см...   Jun 28 2016, 15:28
|- - zltigo   QUOTE (esaulenka @ Jun 28 2016, 18:28) Ну...   Jun 28 2016, 16:18
- - ViKo   Я не ViKi. И я писал первое сообщение без яда. Мн...   Jun 28 2016, 15:06
|- - prottoss   Цитата(ViKo @ Jun 28 2016, 21:06) Пишите,...   Jun 28 2016, 15:09
||- - ViKo   Цитата(prottoss @ Jun 28 2016, 18:09) Лад...   Jun 28 2016, 15:23
|- - k155la3   Господа, Вы господа или где ? Немного не так наз...   Jun 28 2016, 15:19
|- - prottoss   Цитата(k155la3 @ Jun 28 2016, 21:19) ...Н...   Jun 28 2016, 15:22
- - prottoss   Ну вот другое дело. Все помирились.   Jun 28 2016, 15:28
- - TSerg   Обычный треп ни о чем. ИМХО.   Jun 28 2016, 17:15
- - prottoss   Выложил еще одну утилиту - crc2table. Она является...   Jun 29 2016, 13:22


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 00:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01488 секунд с 7
ELECTRONIX ©2004-2016