UART, RXINT + RS232

Работа интерфейса UART в Flowcode

Re: UART, RXINT + RS232

Сообщение olegkaras2 (олег) » 29 июн 2017, 10:20

Yushik писал(а):С помощью команд:
<string>=Left$(<string>,<number>)
<string>=Right$(<string>,<number>)
<string>=Mid$(<number>,<string>,<number>)
Выделить отдельно каждое число, преобразовать в <number> с помощью команды которую вы писали выше. А затем сложить или как то склеить в одно если надо.

Правильно будет не <string>=Mid$(<number>,<string>,<number>) а <string>=Mid$(<string>,<number>,<number>).
Все равно не понятно как вытащить из строки числа если они в строке ездят то впаво то влево .
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе

Re: UART, RXINT + RS232

Сообщение Taska (Максим) » 29 июн 2017, 11:09

Преобразовываешь в число, хотя можно и не преобразовывать, Строковая переменная представляет массив байт, берешь и работаешь с массивом, смотришь если данные в пределах 0х30 - 0х39, то это цифры от 0 до 9
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе

Re: UART, RXINT + RS232

Сообщение mim (mim) » 29 июн 2017, 11:27

olegkaras2 писал(а):Как из строки получить число
Прежде чем говорить от этом, нужно объяснить структуру протокола... Если это свой протокол и там происходит такая ерунда - просто нужно расстрелять разработчика, а затем написать все правильно... Если это что попало (писаное кем-то...) и нельзя переделать правильно, то нужно хотябы для начала показать людям примеры этих самых "строк"... :headbang:
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение olegkaras2 (олег) » 29 июн 2017, 12:53

Вот пример строк.
Вот с этого прибора нужно принять строку [url=/http://cxem.net/izmer/izmer128.php]текст ссылки[/url]
http://cxem.net/izmer/izmer128.php
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение mim (mim) » 29 июн 2017, 13:29

olegkaras2 писал(а):Все равно не понятно как вытащить из строки числа если они в строке ездят то впаво то влево .

Я этого не вижу.... все числа стоят на своих позициях...
str.jpg
на 2, на 8, на 14 и 21... известна и их длинна, достаточно перевести из ASCII как написал Максим и все окей...
Все "фразы" разделены пробелом... :)
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение olegkaras2 (олег) » 29 июн 2017, 13:41

Да, стоят , но если RV1 потянуть в самый верх или низ , то I>1330 число з двухзначного увеличивается в четырехзначное , и с двигает все что после на два знака в право .
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение mim (mim) » 29 июн 2017, 13:45

mim писал(а):Все "фразы" разделены пробелом... :)
Начало это знак ">". Конец это поробел... что не понятно? Поиск начала, поиск конца, вырезать от "начала +1" до "конца-1", преобразовать... Да... длинно но по другому ни как....

Полный набор функций библиотеки<string.h>
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение olegkaras2 (олег) » 29 июн 2017, 20:20

Может проще протокол поправить , в исходнике вот такая строка передает числа по UART If Dmod.0 = 1 Then Print "V>" ; Urms ; " I>"; Irms ; Irms_2 ; " Pa>" ; Pact ; " Pf>" ; Pfull ; " F>" ; Fi .
Как можно сначала курсором указать место в строке перед отправкой числа , ни где в интернете информации по этому вопросу не могу найти для BASCOMAVR ?
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение mim (mim) » 30 июн 2017, 05:58

olegkaras2 писал(а):Как можно сначала курсором указать место в строке перед отправкой числа , ни где в интернете информации по этому вопросу не могу найти для BASCOMAVR ?

Нет... это делается не так. Существуют "форматы" вывода чисел... задается строгая размерность, например, 4 знака, пустоты заполняются пробелами или нулями, это все должно быть в команде Print... тогда длинна поля представления чисел будет всегда одинаковая...По аналогии, рази два.
Ну, или тупо убрать все ненужные "V>"... и выводить только значения, которые предварительно поместить в массив в заданные места.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: UART, RXINT + RS232

Сообщение olegkaras2 (олег) » 30 июн 2017, 06:28

Спасибо , попробую разобраться.
Аватар пользователя
Ник: olegkaras2
Имя: олег
(Белая церковь)
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode + RS232

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей