Глюки в создании Пользовательских Блоках на С

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
Anydy
Администратор
Сообщения: 3275
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Глюки в создании Пользовательских Блоках на С

#1

Сообщение Anydy » 30.03.2017{, 19:12}

Создаем блок, в исходном коде сначала должно быть #define
а после #include
Программа ставит все наоборот, естественно проект не компилируется...

Потом делаю выход блока - не работает, делаю то же самое в параметрах пользователя - работает..

Я быстрее язык выучу чем разберусь как программа работает...
Так было задумано? Чтобы С++ изучали?

Два часа парился как float в char перевести в программе...
Оказалось просто dtostrf(temp, 3, 2, tempchar)
Теперь бьюсь как выход к коду прикрутить...

PS. Если блок в проекте то изменив параметры пользователя они не сохраняются...
Последний раз редактировалось Anydy 31.03.2017{, 06:47}, всего редактировалось 1 раз.

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 62
Контактная информация:

Глюки в создании Пользовательских Блоках на С

#2

Сообщение Олег » 30.03.2017{, 22:05}

Anydy писал(а):Два часа парился как float в char перевести в программе...Оказалось просто dtostrf(temp, 3, 2, tempchar)
А что блок Char в Конвертации типов не работает?

Аватара пользователя
Anydy
Администратор
Сообщения: 3275
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Глюки в создании Пользовательских Блоках на С

#3

Сообщение Anydy » 31.03.2017{, 07:24}

Вы не поняли, мне нужно было в коде сделать конвертацию... а не в программе...не верно выразился...именно в коде преобразовать ...

Добавлено (31.03.2017, 07:24)
---------------------------------------------
Олег писал(а):А что блок Char в Конвертации типов не работает?
Не работает
char _gtv1;
byte _gtv2 = 12;
void setup()
{
  Serial.begin(9600);
}
void loop()
{
//Плата:1
_gtv1 = (char(_gtv2));
Serial.println(_gtv1);
delay(1000);
}
Последний раз редактировалось Anydy 30.03.2017{, 22:35}, всего редактировалось 1 раз.

Аватара пользователя
Олег
Полковник
Сообщения: 1532
Зарегистрирован: 13.10.2015{, 16:47}
Репутация: 62
Контактная информация:

Глюки в создании Пользовательских Блоках на С

#4

Сообщение Олег » 31.03.2017{, 09:32}

Си я не знаю, но вроде-бы так и должно быть. Только у вас почему-то  byte вы вроде float  хотели.

Аватара пользователя
Anydy
Администратор
Сообщения: 3275
Зарегистрирован: 30.12.2017{, 12:10}
Репутация: 278
Имя: Андрей

Глюки в создании Пользовательских Блоках на С

#5

Сообщение Anydy » 31.03.2017{, 11:00}

float temp=1.25;
char tempchar[6];
tempchar = (char(temp)); // не работает

А вот так работает:
float temp=1.25;
char tempchar[6];
dtostrf(temp, 3, 2, tempchar);

Это было из float в char..

А вот как из byte в char перевести(как в примере постом выше) я так и не понял...

Ответить

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