Как преобразовать символы в строку?

Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

Как преобразовать символы в строку?

Сообщение eugeneb »

Чёт туплю...
Через UART в контроллер поступает последовательность символов (char),
всегда оканчивающаяся символами '\r' и '\n'.
Принимаю их блоком "Приём из UART".

Как их записать в переменную типа String, чтобы получилась строка?
Штатными блоками нельзя?
С уважением,
Евгений Бобков
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Как преобразовать символы в строку?

Сообщение pan »

как в обычный массив
string s;
s[0] = 'h';
s[1] = 'e';
s[2] = 'l';
s[3] = 'l';
s[4] = 'o';
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

eugeneb писал(а): 12 дек 2018, 14:40Как их записать в переменную типа String, чтобы получилась строка?
Штатными блоками нельзя?
Главное порядок выполнения: temp->Uart раньше, чем RessFromUart
[spoiler=Принимаю так:]
screenshot_18-12-12_15-38-21.png
[/spoiler]

Отправлено спустя 2 минуты 4 секунды:
TOF 50....100ms.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

Как преобразовать символы в строку?

Сообщение eugeneb »

pan писал(а): 12 дек 2018, 15:11как в обычный массив
Вы предлагаете сделать блок на С ?
Наверное так и придётся, если не найду способа сделать
это штатно. (что удивительно!)

[ref=#ff8000]Sancho[/ref], интересный трюк, попробую.
С уважением,
Евгений Бобков
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Как преобразовать символы в строку?

Сообщение pan »

eugeneb писал(а): 12 дек 2018, 16:26Вы предлагаете сделать блок на С ?
просто ответил на вопрос
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Как преобразовать символы в строку?

Сообщение Ingwar »

eugeneb писал(а): 12 дек 2018, 16:26Наверное так и придётся, если не найду способа сделать
это штатно. (что удивительно!)
Посмотрите в этом направлении...
чтение из порта строки.flp
В примере окончание строки ")", другие условия думаю "прикрутите". И добавьте очистку массива после окончания приема.
Тестил не в "натуре",а в Proteuse
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

Народ.
Нахуа все эти извращения для простого приёма строки из порта??????????
Объясните мне просто?????????????
Просто собирайте переменную из приходящих символов, после дырки в поступлении присваивайте реальной - всё, парсите потом как угодно!
Иль я идиот, иль обрисуйте, в чём хитр/неправилен/... метод из поста 3.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

eugeneb писал(а): 12 дек 2018, 14:40Через UART в контроллер поступает последовательность символов (char),
всегда оканчивающаяся символами '\r' и '\n'.
Принимаю их блоком "Приём из UART".
Как их записать в переменную типа String, чтобы получилась строка?
Штатными блоками нельзя?
2018_12_13_01_05_06_FLProg_4.2.0.png
только надо определится, что будет началом или концом строки
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

[ref=#ff8000]rw6cm[/ref], Володя, это будет очень весёлая строка :)
Например, шлём "Hello, world" - сначала она будет "H", потом "Не", потом "Hel" и так далее!
Как и когда парсить?

Отправлено спустя 25 секунд:
Проверенно!!!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

[ref=#ff8000]Sancho[/ref],
Не знаю что тс делает и для чего все это, но в твоем варианте строка будет всегда из одного символа,
ведь на той стороне как понял передается не строка а одиночные символы, и как часто они передаются не известно.
а чтобы небыло просмотра последовательного набора (если это не нужно) надо знать где конец или начало собираемой строки
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

rw6cm писал(а): 13 дек 2018, 08:25Не знаю что тс делает и для чего все это, но в твоем варианте строка будет всегда из одного символа,
ведь на той стороне как понял передается не строка а одиночные символы, и как часто они передаются не известно.
а чтобы небыло просмотра последовательного набора (если это не нужно) надо знать где конец или начало строки
Володя - проверенно!!!!
Попробуй сам :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

попробуй сам ))
с терминала передать по 1 символу
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

Приходит всегда на два больше - и чего - проблема убрать NL и CR ?

Отправлено спустя 16 минут 17 секунд:
[ref]eugeneb[/ref], Вот готовый вариант. Рабочий.
Убирает NL и CR в конце, т.е. два последних символа.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

Сань с той стороны передаются одиночные чары а не строка
в твоем варианте строка из одиночных символов не соберется,
после каждого принятого символа будет сброс строки,
в результате в переменной UART будет всегда только один последний символ
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

Володя - поставить TOF на время, превышающее паузу между поступающими соседними символами :)
Или там просто нескончаемый поток? Тогда для чего?
Нет внятного описания задачи.
Ок, написать маленький ПБ. У меня куча заготовок :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

Sancho писал(а): 13 дек 2018, 09:21Нет внятного описания задачи.
Согласен. Потому и выложил альтернативный твоему вариант.
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

[ref=#ff8000]rw6cm[/ref], Володя, твой, допиленный до задачи из первого поста, вариант. Не на С++!!!
Вложение удалил - не отрабатывает как надо :(
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

[ref=#ff8000]Sancho[/ref],
не прокатит ) блок суммирует только чары,
мне вобще не понятно как умудрился к нему байт прицепить :smile37:
к тому же с той стороны передаются чары а не байты
Win10-64, FLProg (portable)
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Как преобразовать символы в строку?

Сообщение Sancho »

rw6cm писал(а): 13 дек 2018, 10:28не прокатит ) блок суммирует только чары,
мне вобще не понятно как умудрился к нему байт прицепить
к тому же с той стороны передаются чары а не байты
Володя, char A == byte 65 :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Как преобразовать символы в строку?

Сообщение rw6cm »

Что чему равно я знаю, но это разные вещи...
Расскажи как подключить байты на вход чара тебе удалось )))
и как это на деле работает, у меня на дисплее пусто )
Win10-64, FLProg (portable)
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: fsergei70 и 8 гостей