int stled
два раза.void callback(char* topic, byte* payload, int new_pwm, unsigned int length) {
Serial.println();
Serial.print(topic); // выводим в сериал порт название топика
Serial.print(" => ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
} // выводим в сериал порт значение полученных данных
String strTopic = String(topic); //получаем название топика
if (strTopic == "home/kinozal/led") //проверяем из нужного ли топика пришли данные
{
payload[length] = 0; //чистим от мусора, длинна строки
String strPayload = String((char*)payload); //считываем значение топика
int val = strPayload.toInt(); //конвертируем для шим
int stled = map(val, 0, 100, 0, 255); //приводим значение 0-100 в значение 255-0
set_pwm_smooth(stled);
Serial.print(" => ");
}
}
не могу понять, почему не срабатывает
>make Makefile
Makefile
. Чтобы указать другой makefile его имя надо дать с ключом -f: make -f custom-makefile-name
я ему говорю: создай мне объект типа "х", а он мне "ОК" - не вопрос, только я создам прототип функции, а тебе об этом не скажу.
Только косвенный признак "не класс" - это к слову о том как порой не совсем точные формулировки могут вводить в ступор
чем меньше ООП и больше структурщины, тем быстрее.
можно и так :)
If the value being stored in an object is accessed from another object
that overlaps in any way the storage of the first object, then the
overlap shall be exact and the two objects shall have the same type,
otherwise the behavior is undefined.
Давайте вы все-таки перестанете умничать
придираться к несуществующим мелочам
Можете подсказать как можно это сделать самым оптимальным путем?
unsigned char msg[2] = {...}
int b = msg[0] * 256 + msg[1].
Ну я подумал что четверка следует из предоставленного мною кода :)
Но заработало и с 2
Кирилл, нет. Надо скопировать функцию из ответа выше этой функции (и заменить в ней "..." на числа), а эту функцию использовать буквально как написано.