компорт

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
kossn93
Сержант
Сообщения: 151
Зарегистрирован: 05.09.2015{, 14:41}
Репутация: 0
Откуда: Харьков

компорт

#1

Сообщение kossn93 » 06.09.2015{, 12:34}

подскажите пожалуйста, как получить int при отправке в компорт разных чисел? например, есть переменная int, и я хочу что-бы при отправки в ком порт, ну например, значения 200, переменная int, тоже принимала значение 200.
подскажите пожалуйста, заранее спасибо.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

компорт

#2

Сообщение support » 06.09.2015{, 13:27}

Посмотри здесь http://flprog.ru/video....bljutuz . Как раз в тему
Автор программы FLProg.

kossn93
Сержант
Сообщения: 151
Зарегистрирован: 05.09.2015{, 14:41}
Репутация: 0
Откуда: Харьков

компорт

#3

Сообщение kossn93 » 06.09.2015{, 14:40}

посмотрел, но осталась одна не ясность, при отсылании 3-х значного числа в ком порт, на выходе всегда только последнее число выходит, например 128 выйдет 8, 255 выйдет 5, и тд.
как сделать чтобы все числа которые я напишу выводились?
я сделал чтобы работало, но мне кажется всеже есть проще способ, если есть подскажите, заранее спс.
прикрепил файлы как я сделал...
Вложения
comdimmer.flp
(68.77 КБ) 54 скачивания
4795449.jpg
Последний раз редактировалось kossn93 06.09.2015{, 14:43}, всего редактировалось 1 раз.

Аватара пользователя
support
Супермодератор
Сообщения: 1900
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 790
Откуда: Астрахань
Имя: Сергей
Контактная информация:

компорт

#4

Сообщение support » 06.09.2015{, 14:55}

Я сейчас к сожалению не возле компа с программой (работать заставили Изображение ) , а завтра уезжаю на медкомисию, так что до послезавтра показать не смогу. Но общая идеология такая. В компорт передаёте число и какой ни будь символ, индикатор окончания числа.  Полученные байты загоняете в стек по сигналу прихода очередного символа.  Как только в нулевом элементе массива (получение элемента массива) появляется символ  окончания, элементы с 1 до последнего прибавляете к пустой строке и результат конвертите в число. Учтите что все блоки работают с одним массивом типа Char
Автор программы FLProg.

kossn93
Сержант
Сообщения: 151
Зарегистрирован: 05.09.2015{, 14:41}
Репутация: 0
Откуда: Харьков

компорт

#5

Сообщение kossn93 » 06.09.2015{, 17:14}

чет это не выглядит проще))

iyarovoy
Рядовой
Сообщения: 4
Зарегистрирован: 29.02.2016{, 18:41}
Репутация: 0
Откуда: Одесса

компорт

#6

Сообщение iyarovoy » 13.09.2016{, 22:36}

support
Доброго дня Сергей!
Вопрос по теме ком порта.
Пытаюсь решить средствами программы следующую задачу:
На Serial1 Arduino Mega приходит 10 раз в секунду значение параметра в ASCII в виде 2222.33g (генерируется весами/портом ПК). Значение необходимо считать и преобразовать в integer для последующей передачи по Modbus.
Уверен, что должно существовать типовое решение, но не могу пока выполнить часть с приемом (чтением) переменной из ком порта.
По Вашему примеру собрал программку но на выходе получаю только 0.
Подскажите что делаю не так?
Спасибо.

PS. Позвольте выразить огромную благодарность за создание FLprog и ее совершенствование.
Удачи Вам и успехов во всех начинаниях!
Вложения
1718857.jpg
mega222.flp
(91.58 КБ) 48 скачиваний

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

компорт

#7

Сообщение Слимпер » 14.09.2016{, 04:57}

Попробую помочь за Сергея 
Набросал такой вариант, но сам не тестировал
Вложения
5089196.rar
(14.34 КБ) 57 скачиваний

iyarovoy
Рядовой
Сообщения: 4
Зарегистрирован: 29.02.2016{, 18:41}
Репутация: 0
Откуда: Одесса

компорт

#8

Сообщение iyarovoy » 14.09.2016{, 19:18}

Слимпер
Спасибо что откликнулись.
Залил Ваш вариант, не заработало.
Но проблема еще в одном: при считывании байтов и их трансляции "порт - порт" получаю неверные символы, проверил прием без ардуины, на преобразователе rs232-usb, тоже получаю не то что отправлено.
При замыкании порта передачи "на себя" - коды принимаются на ПК (источнике) верно.
На стороне приемника коды принимаются неверно даже в двоичном формате.
Не подскажете в чем проблема?  
   
Вложения
5387911.jpg

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 27
Откуда: Новосибирск

компорт

#9

Сообщение Слимпер » 14.09.2016{, 19:44}

iyarovoy писал(а):Не подскажете в чем проблема?
   Может быть много причин, из самых простых разная настройки порта, или ошибки на физическом уровне.
iyarovoy писал(а):rs232-usb
Не понял, это именно RS232  или UART. Та разные уровни сигналов.

Так что для начало физическую часть работы, затем настройки (все) порта, а уже потом пробуйте.

iyarovoy
Рядовой
Сообщения: 4
Зарегистрирован: 29.02.2016{, 18:41}
Репутация: 0
Откуда: Одесса

компорт

#10

Сообщение iyarovoy » 16.09.2016{, 21:32}

Слимпер
Спасибо, за подсказку, проблема была аппаратной.
Ваш код работает отлично.

Ответить

Вернуться в «Спросить у знатоков»