Помогите с serial

goldpistol
Offline
Зарегистрирован: 01.10.2014

Необходима помощь в serial
есть массив arr[8]
мне необходимо принимать значения вида val1=255
и т.д.
и цифра после val это номер ячейки массива
то есть подразумевается что я буду передавать поочередно значения ячеек типа val1=2,val2=3
и т.д. а массив будет заполняться этими данными.

com
Offline
Зарегистрирован: 06.09.2013

Serial.read() восемь раз подряд спасет гиганта мысли?

goldpistol
Offline
Зарегистрирован: 01.10.2014

увы нет.нужно парсить.так как я новичек в этой платформе,желательно с примерами.Я имею опыт работы с php,js и html но не с C одним словом знаю что примерно нужно делать,не в коде осуществить не могу...Нужно как то заполнить массив...предварительно выпарсив данные

com
Offline
Зарегистрирован: 06.09.2013

так и начните с примеров http://arduino.ru/Reference/Serial/Read

sva1509
Offline
Зарегистрирован: 07.12.2012

strtok() вам в помощ

 

com
Offline
Зарегистрирован: 06.09.2013

serial.read уже принимает строку побайтово! не надо склеивать, чтобы парсить, надо сразу анализировать полученное из порта

Radjah
Offline
Зарегистрирован: 06.08.2014

Сделать переменную типа string и пристыковывать к ней прочитанные байты.

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

Уважаемый com дал очевидный и правильный совет. Просто goldpistol поленился вникнуть. Ну или задал некорректный вопрос.

goldpistol
Offline
Зарегистрирован: 01.10.2014

я передаю строку в таком виде
val1=155,val2=23,val3=5,val4=16,val5=124;
и надо ее превратить в
arr[5]={155,23,5,16,124}
причем числа в val могут быть разными.помогите кодом,а если нет то попрошу без заумных выражений.Тоже мне пескари нашлись.Сказал же что не знаю я структуры этого языка.Потому и прошу помощь кодом.

com
Offline
Зарегистрирован: 06.09.2013

вот прямо так и передаете "val1=155,val2=23,val3=5,val4=16,val5=124;" вменсте с запятыми, знаками "равно" и "точка с запятой"???

goldpistol
Offline
Зарегистрирован: 01.10.2014

так точно.а достать надо только значения после равно

goldpistol
Offline
Зарегистрирован: 01.10.2014

я знаю что в php я использовал бы preg_replace да и дело с концом...а здесь я хз как...

com
Offline
Зарегистрирован: 06.09.2013

гы. боюсь представить - это кто-то  набивает ?

а если серьезно, то зачем дважды усложнять себе жизнь - сначала формируя эту строку, потом разбирая на части? передавайте восемь байт = восемь чисел 0..255 и не парьтесь.

ну или читайте про strtok.

goldpistol
Offline
Зарегистрирован: 01.10.2014

уважаемый,а дайте будьте добры код если не трудно..

__Alexander
Offline
Зарегистрирован: 24.10.2012

замучаетесь парсить.

посмотрите как работет strtok, дайте ему в качестве разделителя запятую. он вернет вам строки между запятыми. а потом еще придется в каждой строке с последнего символа до знака "равно" просматривать количество знаков, т.к. оно разное. короче, гемор еще тот. простого кода, совмещающего в себя всё это нет.

com
Offline
Зарегистрирован: 06.09.2013

goldpistol пишет:
уважаемый,а дайте будьте добры код если не трудно..

а идите лесом, в направлении http://arduino.ru/forumy/ishchu-ispolnitelya если думать лень

goldpistol
Offline
Зарегистрирован: 01.10.2014

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