Добрий день! всем , я новичок в ардуино и сейчас плотно изучаю ее, но у меня возникла проблема нужно создать контролер на основе ардуино в короткие строки а я физически не успеваю. Надеюсь на вашу помощь. в чем собственно задача : есть программа которая последовательно отправляет в оприделенное время строку данних: Код (Text): <BytesSample sampleTime="00:00:00.000" data="F88F02000000000002" /> <BytesSample sampleTime="00:00:00.200" data="F88F020A0A0A000020" /> <BytesSample sampleTime="00:00:00.400" data="F88F020A0A0A000020" /> <BytesSample sampleTime="00:00:00.600" data="F88F020A0A0A000020" /> <BytesSample sampleTime="00:00:00.800" data="F88F020A0A0A000020" /> <BytesSample sampleTime="00:00:01.000" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:01.200" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:01.400" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:01.600" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:01.800" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:02.000" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:02.200" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:02.400" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:02.600" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:02.800" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:03.000" data="F88F020A0A0A010021" /> <BytesSample sampleTime="00:00:03.200" data="F88F02320A32010071" /> <BytesSample sampleTime="00:00:03.400" data="F88F02320A32010071" /> <BytesSample sampleTime="00:00:03.600" data="F88F02320A32010071" /> <BytesSample sampleTime="00:00:03.800" data="F88F02320A32030073" /> <BytesSample sampleTime="00:00:04.000" data="F88F02320A32030073" /> <BytesSample sampleTime="00:00:04.200" data="F88F02320A32010071" /> <BytesSample sampleTime="00:00:04.400" data="F88F02320A32010071" /> <BytesSample sampleTime="00:00:04.600" data="F88F02320A32010071" /> <BytesSample sampleTime="00:00:04.800" data="F88F02640A320100A3" /> F88F020A0A0A000020 F88F02- являеться стартом строки на скок я понимаю дальше дание нужно розбить по 2 : 0A,0A,0A,00,00,20 каждому значению нада назначить переменну по которим я дальше буду управлять устройством. позже виложу свой вариант кода. Буду благодарен за любую помощь!
Попробуйте примерно так: Код (Text): char str[] = "<BytesSample sampleTime="00:00:00.200" data="F88F020A0A0A000020" />"; char strPart[3]; int values[6]; ... for(int valueIndex = 0; valueIndex < 6, valueIndex++) { strParts[0] = str[51 + valueIndex * 2]; strParts[1] = str[52 + valueIndex * 2]; strParts[2] = '\0'; values[valueIndex] = (int)strtol(&strParts[0], NULL, 16); }
Прошу прощение немного не правильно написал, в порт проходит только : Код (Text): F88F020A0A0A000020 F88F020A0A0A000020 F88F020A0A0A000020 F88F020A0A0A000020 F88F020A0A0A010021 F88F020A0A0A010021 F88F020A0A0A010021 F88F020A0A0A010021 F88F020A0A0A010021 F88F020A0A0A010021 F88F020A0A0A010021 F88F020A0A0A010021 кажди 200 мс
Ну тогда 6 и 7 вместо 51 и 52, что тут сложного? Либо сразу отправляйте в порт байты вместо текста и синхронизируйтесь по маркеру F88F02, это еще проще.