Итакс на ардуинь UNO через монитор порта приходит сообщение в виде "red=150" или "blue=255" или "green=0" и надо через switch() распределить по цвету а потом прислать по analogWrite(пин цвета, значение); Нужен скетч Заранее спасибо.
Дорого надо разделить по red=255 ^^^ именно эта часть и нужна в свитче, сам в С не шарю т.к. пишу на PHP
уважаемый, вы понимаете вообще. что заказываете? какой нафик свитч для строк переменной длины? Или давай от названия цвета оставим только первую букву - будем передавать так "R=244" - тогда можно и свитч
в php это делается так PHP: $arr = explode($str, "="); switch($arr[0]){ case "red": //red break; case "blue": break; }
ну так-то лучше. Ша тебе какой-нить пионер напишет Цену только озвучь, а то потом скажешь, что это стоит 100 рублей
А было б очень хорошо, если бы работало. А то иногда алгоритм так хорошо бы зашел с переменной на switch - ан нет - низзя((
в данном случае это лишнее, достаточно анализа первой буквы, поиска знака "равно" и все после него засылать в соответствующий бит порта... В итоге, как всегда простая задача для ардруины, превратится из десяти байт кода в десятки килобайт (утрирую)...
Я бы вообще отказался от строковых переменных, а что бы никто ничего не понял, написал код на Pascal: Код (Text): type TColor = ( clRed, clGreen, clBlue ); //Тогда передаваемая строка примет вид: 0=255 или 1=128 и т.д. //А парсинг будет типа: case Color of clRed : analogWrite(); clGreen: analogWrite(); clBlue : analogWrite(); end; Кстати, только что подметил что на форуме нет подсветки Pascal синтаксиса. P.S. Одни словом лучше отказаться от строк, и передавать цвета цифрами, и трафика меньше, и case заработает на любом языке.