Помогите с serial
- Войдите на сайт для отправки комментариев
Втр, 16/12/2014 - 01:59
Необходима помощь в serial
есть массив arr[8]
мне необходимо принимать значения вида val1=255
и т.д.
и цифра после val это номер ячейки массива
то есть подразумевается что я буду передавать поочередно значения ячеек типа val1=2,val2=3
и т.д. а массив будет заполняться этими данными.
Serial.read() восемь раз подряд спасет гиганта мысли?
увы нет.нужно парсить.так как я новичек в этой платформе,желательно с примерами.Я имею опыт работы с php,js и html но не с C одним словом знаю что примерно нужно делать,не в коде осуществить не могу...Нужно как то заполнить массив...предварительно выпарсив данные
так и начните с примеров http://arduino.ru/Reference/Serial/Read
strtok() вам в помощ
serial.read уже принимает строку побайтово! не надо склеивать, чтобы парсить, надо сразу анализировать полученное из порта
Сделать переменную типа string и пристыковывать к ней прочитанные байты.
Уважаемый com дал очевидный и правильный совет. Просто goldpistol поленился вникнуть. Ну или задал некорректный вопрос.
я передаю строку в таком виде
val1=155,val2=23,val3=5,val4=16,val5=124;
и надо ее превратить в
arr[5]={155,23,5,16,124}
причем числа в val могут быть разными.помогите кодом,а если нет то попрошу без заумных выражений.Тоже мне пескари нашлись.Сказал же что не знаю я структуры этого языка.Потому и прошу помощь кодом.
вот прямо так и передаете "val1=155,val2=23,val3=5,val4=16,val5=124;" вменсте с запятыми, знаками "равно" и "точка с запятой"???
так точно.а достать надо только значения после равно
я знаю что в php я использовал бы preg_replace да и дело с концом...а здесь я хз как...
гы. боюсь представить - это кто-то набивает ?
а если серьезно, то зачем дважды усложнять себе жизнь - сначала формируя эту строку, потом разбирая на части? передавайте восемь байт = восемь чисел 0..255 и не парьтесь.
ну или читайте про strtok.
уважаемый,а дайте будьте добры код если не трудно..
замучаетесь парсить.
посмотрите как работет strtok, дайте ему в качестве разделителя запятую. он вернет вам строки между запятыми. а потом еще придется в каждой строке с последнего символа до знака "равно" просматривать количество знаков, т.к. оно разное. короче, гемор еще тот. простого кода, совмещающего в себя всё это нет.
а идите лесом, в направлении http://arduino.ru/forumy/ishchu-ispolnitelya если думать лень
Все же изволю не отвечать на грубость и поблагодарю вас за указание направления.