FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Статистика


Яндекс.Метрика
Понедельник, 05.12.2016, 19:36
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » компорт (отправить число и получить int)
компорт
kossn93
Дата: Воскресенье, 06.09.2015, 12:34 | Сообщение # 1
Майор
Группа: Проверенные
Сообщений: 159
Награды: 6
Репутация: 2
Статус: Offline
подскажите пожалуйста, как получить int при отправке в компорт разных чисел? например, есть переменная int, и я хочу что-бы при отправки в ком порт, ну например, значения 200, переменная int, тоже принимала значение 200.
подскажите пожалуйста, заранее спасибо.
 
support Дата: Воскресенье, 06.09.2015, 13:27 | Сообщение # 2
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Посмотри здесь http://flprog.ru/video....bljutuz . Как раз в тему

Разработчик программы FLProg
 
kossn93 Дата: Воскресенье, 06.09.2015, 14:40 | Сообщение # 3
Майор
Группа: Проверенные
Сообщений: 159
Награды: 6
Репутация: 2
Статус: Offline
посмотрел, но осталась одна не ясность, при отсылании 3-х значного числа в ком порт, на выходе всегда только последнее число выходит, например 128 выйдет 8, 255 выйдет 5, и тд.
как сделать чтобы все числа которые я напишу выводились?
я сделал чтобы работало, но мне кажется всеже есть проще способ, если есть подскажите, заранее спс.
прикрепил файлы как я сделал...
Прикрепления: 4795449.jpg(20Kb) · comdimmer.flp(69Kb)


Сообщение отредактировал kossn93 - Воскресенье, 06.09.2015, 14:43
 
support Дата: Воскресенье, 06.09.2015, 14:55 | Сообщение # 4
Автор программы
Группа: Администраторы
Сообщений: 579
Награды: 30
Репутация: 21
Статус: Offline
Я сейчас к сожалению не возле компа с программой (работать заставили sad ) , а завтра уезжаю на медкомисию, так что до послезавтра показать не смогу. Но общая идеология такая. В компорт передаёте число и какой ни будь символ, индикатор окончания числа.  Полученные байты загоняете в стек по сигналу прихода очередного символа.  Как только в нулевом элементе массива (получение элемента массива) появляется символ  окончания, элементы с 1 до последнего прибавляете к пустой строке и результат конвертите в число. Учтите что все блоки работают с одним массивом типа Char

Разработчик программы FLProg
 
kossn93 Дата: Воскресенье, 06.09.2015, 17:14 | Сообщение # 5
Майор
Группа: Проверенные
Сообщений: 159
Награды: 6
Репутация: 2
Статус: Offline
чет это не выглядит проще))
 
iyarovoy Дата: Вторник, 13.09.2016, 22:36 | Сообщение # 6
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
support
Доброго дня Сергей!
Вопрос по теме ком порта.
Пытаюсь решить средствами программы следующую задачу:
На Serial1 Arduino Mega приходит 10 раз в секунду значение параметра в ASCII в виде 2222.33g (генерируется весами/портом ПК). Значение необходимо считать и преобразовать в integer для последующей передачи по Modbus.
Уверен, что должно существовать типовое решение, но не могу пока выполнить часть с приемом (чтением) переменной из ком порта.
По Вашему примеру собрал программку но на выходе получаю только 0.
Подскажите что делаю не так?
Спасибо.

PS. Позвольте выразить огромную благодарность за создание FLprog и ее совершенствование.
Удачи Вам и успехов во всех начинаниях!
Прикрепления: mega222.flp(92Kb) · 1718857.jpg(177Kb)
 
Слимпер Дата: Среда, 14.09.2016, 04:57 | Сообщение # 7
Генерал-лейтенант
Группа: Проверенные
Сообщений: 671
Награды: 26
Репутация: 23
Статус: Offline
Попробую помочь за Сергея 
Набросал такой вариант, но сам не тестировал
Прикрепления: 5089196.rar(14Kb)
 
iyarovoy Дата: Среда, 14.09.2016, 19:18 | Сообщение # 8
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Слимпер
Спасибо что откликнулись.
Залил Ваш вариант, не заработало.
Но проблема еще в одном: при считывании байтов и их трансляции "порт - порт" получаю неверные символы, проверил прием без ардуины, на преобразователе rs232-usb, тоже получаю не то что отправлено.
При замыкании порта передачи "на себя" - коды принимаются на ПК (источнике) верно.
На стороне приемника коды принимаются неверно даже в двоичном формате.
Не подскажете в чем проблема?  
   


Прикрепления: 5387911.jpg(213Kb)
 
Слимпер Дата: Среда, 14.09.2016, 19:44 | Сообщение # 9
Генерал-лейтенант
Группа: Проверенные
Сообщений: 671
Награды: 26
Репутация: 23
Статус: Offline
Цитата iyarovoy ()
Не подскажете в чем проблема?
   Может быть много причин, из самых простых разная настройки порта, или ошибки на физическом уровне.
Цитата iyarovoy ()
rs232-usb
Не понял, это именно RS232  или UART. Та разные уровни сигналов.

Так что для начало физическую часть работы, затем настройки (все) порта, а уже потом пробуйте.
 
iyarovoy Дата: Пятница, 16.09.2016, 21:32 | Сообщение # 10
Рядовой
Группа: Проверенные
Сообщений: 4
Награды: 0
Репутация: 0
Статус: Offline
Слимпер
Спасибо, за подсказку, проблема была аппаратной.
Ваш код работает отлично.
 
Форум » Основной » Спросить у знатоков » компорт (отправить число и получить int)
Страница 1 из 11
Поиск:

FLProg © 2016
Яндекс.Метрика