Создание пользовательского блоков на языке C

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Создание пользовательского блоков на языке C

Сообщение AVGN »

Возник такой вопрос.
В примере для библиотеки используется тип данных "double" .
А в FLProg нет double.
Или такую библиотеку невозможно применить для создания пользовательского блока?
Код примера для библиотеки:

[spoiler=Спойлер]

Код: Выделить всё

#include <AD9850.h>
//CLK - D12, FQUP - D11, BitData - D10, RESET - D13
const int W_CLK_PIN = 12;
const int FQ_UD_PIN = 11;
const int DATA_PIN = 10;
const int RESET_PIN = 13;

double freq = 1000000; // 1МГЦ
double trimFreq = 124999500;

int phase = 0;

void setup(){
DDS.begin(W_CLK_PIN, FQ_UD_PIN, DATA_PIN, RESET_PIN);
DDS.calibrate(trimFreq);
}

void loop(){
DDS.setfreq(freq, phase);
// delay(10000);
// DDS.down();
// delay(3000);
// DDS.up();
// delay(2000);
// DDS.setfreq(freq + 500, phase);
// delay(5000);
// DDS.down();
// while(1);
}
[/spoiler]
Последний раз редактировалось AVGN 21 мар 2017, 18:27, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

Создание пользовательского блоков на языке C

Сообщение Nikan »

.
Последний раз редактировалось Nikan 23 мар 2023, 16:42, всего редактировалось 1 раз.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Создание пользовательского блоков на языке C

Сообщение AVGN »

библиотеку надо переделывать и менять double на Float?
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01 май 2016, 01:04
Откуда: Коломна
Имя: Станислав
Контактная информация:

Создание пользовательского блоков на языке C

Сообщение Boroda »

Вот тут так и написано. Меняем на флоат и не паримся!
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Создание пользовательского блоков на языке C

Сообщение AVGN »

Boroda, спасибо.
Я как раз читал, только вот здесь http://arduino.ua/ru/prog/Double
Состряпал блок. Вроде компилируется. Проверить в железе не могу. Подготовка к субботе
Посмотрите профессиональным взором. Будет работать ?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось AVGN 22 мар 2017, 14:43, всего редактировалось 1 раз.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

Создание пользовательского блоков на языке C

Сообщение Nikan »

.
Последний раз редактировалось Nikan 23 мар 2023, 16:42, всего редактировалось 1 раз.
Anydy

Создание пользовательского блоков на языке C

Сообщение Anydy »

У меня с double в Flprog были проблемы, вроде потому что в Флпрог нет такой, просто заменил на флоат и все получилось!
Библиотеку не надо переделывать, БОРОДА верно сказал, меняем в блоке на флоат и не паримся!)))

Тип double поддерживается в Arduino для совместимости кода с другими платформами.
Последний раз редактировалось Anydy 21 мар 2017, 23:01, всего редактировалось 1 раз.
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Создание пользовательского блоков на языке C

Сообщение AVGN »

Выявились интересные моменты при создании блока пользователя.
Сделанные входы в пользовательском блоке при компиляции в IDE появляются только в void loop().
А выходы блока появляются только в void setup()

Это правильно или что то делаю не так как надо?
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Anydy

Создание пользовательского блоков на языке C

Сообщение Anydy »

Видимо что то пошло не так)
Прикрепляйте скетч и проект...и блок...
Посмотрим....
И входы и выходы должны быть в секции declare скетча
В Loop их только используем!
Это если блок не один может быть в проекте...
Если один то и в Loop бывают обьявления...но зачем я не пойму...
Может очередной глюк)))
Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03 фев 2017, 12:23

Создание пользовательского блоков на языке C

Сообщение AVGN »

Блок делал используя пример для Ардуино:

Код: Выделить всё

#include <AD9850.h>
//CLK - D12, FQUP - D11, BitData - D10, RESET - D13
const int W_CLK_PIN = 12;
const int FQ_UD_PIN = 11;
const int DATA_PIN = 10;
const int RESET_PIN = 13;

double freq = 1000000; // 1МГЦ
double trimFreq = 124999500;

int phase = 0;

void setup(){
DDS.begin(W_CLK_PIN, FQ_UD_PIN, DATA_PIN, RESET_PIN);
DDS.calibrate(trimFreq);
}

void loop(){
DDS.setfreq(freq, phase);
// delay(10000);
// DDS.down();
// delay(3000);
// DDS.up();
// delay(2000);
// DDS.setfreq(freq + 500, phase);
// delay(5000);
// DDS.down();
// while(1);
}

Проект с блоком в FLProg прицепил

Добавлено (22.03.2017, 17:17)
---------------------------------------------
Не точно выразился.
Уточнение.
Установленные константы на входы в пользовательском блоке при компиляции в IDE появляются только в void loop().
А выходы блока (сделанные в параметрах пользователя) появляются в void setup()
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн
Anydy

Создание пользовательского блоков на языке C

Сообщение Anydy »

Как то раньше замечал...что если библиотеку выгружать с именем скачанным с гитхаба, то не работает....
то есть напрмер 123-master не работает а просто 123 работает
vovka1973
Подполковник
Сообщения: 1202
Зарегистрирован: 14 фев 2016, 14:16
Откуда: kazahstan
Благодарил (а): 32 раза
Поблагодарили: 6 раз

Создание пользовательского блоков на языке C

Сообщение vovka1973 »

Anydy писал(а):то не работает....то есть напрмер 123-master не работает а просто 123 работает
это потому что из за тире ,а если так сделать 123_master то нормально всегда
Изображение
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Создание пользовательского блоков на языке C

Сообщение Dev1 »

vovka1973 писал(а):это потому что из за тире ,а если так сделать 123_master то нормально всегда
Я, наверное, что то не то делаю...
[spoiler=Спойлер][/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость