Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.53/30: Рейтинг темы: голосов - 30, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 118

Преобразование чисел с COM порта

02.03.2018, 12:51. Показов 7440. Ответов 139

Студворк — интернет-сервис помощи студентам
Есть устройство, которое передает информацию на com порт в виде 16 битных знаковых чисел, мне нужно преобразовать эт данные так, как на скриншоте.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
  void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            try
            {   byte[] b = new byte[4000];
                serialPort1.Read(b, 0, b.Length);
                int i = BitConverter.ToInt16(b, 2);
                SetText(Convert.ToString(i));
            }
            catch (Exception e3)
            {
                MessageBox.Show(e3.Message);
            }
        }
Выходит как на скриншоте 2

Описание по работе с устройством на скриншоте 3
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.03.2018, 12:51
Ответы с готовыми решениями:

Преобразование float значений полученных из COM порта
Доброго времени суток. проблема с преобразованием вещественных числе, в данном случае FLOAT. подключаюсь я к устройству через...

Преобразование данных с COM порта в реальном времени
Подскажите пожалуйста. Мне необходимо считать температурные показатели с COM порта для дальнейшего использования их в температурном...

Получение данных с Com-порта, преобразование строки в бинарную последовательность
Всем доброго времени суток! Недавно начал ковырять Visual C++. Понимаю, что полез в дебри слишком рано, но решил учиться сразу в деле....

139
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
03.03.2018, 19:54
Студворк — интернет-сервис помощи студентам
Usaga, А вы что не в курсе что выработка управляющих сигналов приводам это задачи реального времени?

Добавлено через 1 час 8 минут
Цитата Сообщение от Usaga Посмотреть сообщение
Которое исполняется далеко не всегда.
В системах промышленной автоматики всегда.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
04.03.2018, 01:01
Fulcrum_013, ну круто, чЁ?! а каким боком это к шарпу? QNX и, возможно, варианты, не, не слышал?
З.Ы. и каким боком вся эта химота к ПК? этим, обычно, специализированные контроллеры занимаюццо! да, очень дорого, да, геморройно, но если всё это не для надувания "шариков" из презервативов, то это оправдано
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 01:13
Diamante, Дак я о том речь и веду что ни в коем случае на шарпе эту задачу делать и вообще не на УВМ как тут аудитория настаивает а на ПЛК выносить. Причем в обязательном порядке. Потому как формирование сигнала аварийного останова задача настолько ответственная, что пока не было возможности на каждый привод поставить свой вычислитель только этим сигналом занимающийся, ее вообще аналоговой схемой решали, а не в УВМ тянули при всех преимуществах цифровой обработки.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 01:41
Цитата Сообщение от Diamante Посмотреть сообщение
тут то, ты с этим вопросом что делаешь?
Дык вопросец то как оказалось не столько в том как циферь эту принять, а в том что по ней нужно сигнал аварийной остановки манипулятора сгенерировать.

Добавлено через 5 минут
Diamante, Т.е. по большому счету вопрос в другом - что этому вопросу вообще делать в этом разделе и как он вообще мог здесь появится?
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
04.03.2018, 01:42
Fulcrum_013, и снова драссти,, шарп, то тут с какого боку? это это задача контроллера, а, что, куда, как, он может, это не тут ответят...тут отравят в пешее эротическоенужном направлении, но все же, тематики
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 01:50
Diamante, Дык вот и пытаюсь разъяснить некоторым безответственным евангелистам .Net что ни шарп ни винда здесь категорически неприемлемы.
0
Эксперт .NET
 Аватар для Rius
13391 / 7845 / 1699
Регистрация: 25.05.2015
Сообщений: 23,855
Записей в блоге: 14
04.03.2018, 02:09
Diamante, все уже поняли, что надо ставить железку с rtos, несколько страниц назад. Но его божественному лику это ещё не дошло и он продолжает по привычке гнать на .Net .
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
04.03.2018, 02:14
Rius, да и мне это понятно, с начальных страниц. БАНХАММЕР ГДЕ?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 03:15
Rius, Diamante, Некоторым особо одаренным .Net-ерам не было понятно где тут вообще реалтайм задача до 100-го поста

Добавлено через 32 минуты
Rius, Гоню я не на .Net а на евангелистов-нетеров которые с пеной у рта пытаются впихнуть его во все ниши в которых ему не место.
А особенно на вот такие высказывания:
Цитата Сообщение от Usaga Посмотреть сообщение
Если ПК не машина бухгалтера (на которой бухгалтер и работает), то никто ни в какой своп не уйдёт. Если сигналы выдаются в тот же COM, то .NET всё вывезет играючи.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,755
04.03.2018, 12:38
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Гоню я не на .Net а на евангелистов-нетеров которые с пеной у рта пытаются впихнуть его во все ниши в которых ему не место.
Нет. Вы просто гоните. Если задача может быть решена на .NET и ТС его знает, то на .NET её и стоит сделать. Это уже вы тут придумали промышленную автоматику и Real Time.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
на .Net а на евангелистов-нетеров
Вы тут единственный евангелист.

Добавлено через 53 секунды
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А особенно на вот такие высказывания:
А что в нём неверного? Ну-ка рассажите.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 12:51
Цитата Сообщение от Usaga Посмотреть сообщение
А что в нём неверного? Ну-ка рассажите.
Вам уже рассказли 10 раз.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
04.03.2018, 12:52
Цитата Сообщение от Usaga Посмотреть сообщение
Если задача может быть решена на .NET и ТС его знает, то на .NET её и стоит сделать. Это уже вы тут придумали промышленную автоматику и Real Time.
И всё-таки тут я с вами не соглашусь. В промышленной автоматике счёт может идти на миллисекунды. В таких системах разработчик порой вплоть до количества тактов процессора должен сказать сколько будет выполняться та или иная задача. По этому ОС общего применения и .Net здесь не подходят.
Если задача, например, просто зажечь лампочку для оператора или показать какую-то надпись - ради бога. Скорость реакции человека в любом случае будет ниже скорости реакции ОС (если в этот момент дискетку не форматируют, конечно).
Но если выполняется межаппаратное взаимодействие, да ещё и критическая операция, например - операция на глазу лазерным аппаратом или производство печатных плат, задержка в 100 мс может оказаться фатальной.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,755
04.03.2018, 12:53
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вам уже рассказли 10 раз.
И вам уже 10 раз было сказано, что неуместны ваши замечания. Всё будет работать корректно и быстро.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 12:54
Usaga, Вообще то это ТС озвучил что робота делает для производства плат и нужно ему выработать сигналы управления приводами.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,755
04.03.2018, 12:56
Fulcrum_013, aquaMakc вы вдвоём выдумали, что тут нужен real time и что .NET тут не подойдёт. ПРиложение на .NET будет работать предсказуемо, если его писать нормально, а не всякие String.Split раз через раз.

Я уже высказывался за то, что нормально написанный код будет везде хорошо работать, а хреновонаписанному и С++ с RTOS не мопогут.

Добавлено через 20 секунд
Fulcrum_013, из этого не следует real time.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 13:05
Usaga, Хреновому кодеру а тем более не понимающему что такое реалтайм вообще ничего не поможет. А вот нормально написанный в нереалтайм системе вызовет аварию точно так же как как и хреновый, хотя в реалтайм системе будет работать как часы.
Цитата Сообщение от Usaga Посмотреть сообщение
из этого не следует real time.
Иди матчаст поучи что относится к реалтайм задачам что нет.
При этом не забудь почитать про свои шарпы что нибудь кроме рекламных проспектов. Тогда глядишь и области их применимости поймешь и может вообще когда нибудь даже инженером станешь.
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
04.03.2018, 13:07
Цитата Сообщение от Usaga Посмотреть сообщение
Я уже высказывался за то, что нормально написанный код будет везде хорошо работать, а хреновонаписанному и С++ с RTOS не мопогут.
.Net это Winows, с недавних пор ещё и Линукс. А я не могу на этих системах гарантировать выполнение какой-либо задачи с точности даже до миллисекунды, не говоря уже о количестве тактов процессора. Это можно сделать только на RTOS, да и то, программист может где-то накосячить.
Мы точно не знаем, какая задача у ТСа. По его словам - производство плат, а конкретно его кейс - обнаружение отклонений от нормы.
Представим, что какой-то автоматизированный станок должен на печатную плату механизированным манипулятором устанавливать электронные компоненты. Подаётся команда перемещения в горизонтальной плоскости, датчик положения контролирует текущие координаты. Где-то внутри винды что-то происходит и данные с датчика попадают в программу ТСа с задержкой в 100 мс. Итог - электронный компонент просто не установлен (в лучшем случае), в худшем - он установлен со двигом относительно точек пайки на 0,5 мм. А это, кстати, расстояние между "ногами" микропроцессора STM32 F103. Это ещё хорошо, если это в корпусе LQFP48 с "Ногами". Там хотябы увидеть можно, что установлено не правильно. А если это под контактную площадку, где контакты закрыты от внешнего наблюдателя корпусом - пока питание не подашь не узнаешь.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,755
04.03.2018, 13:14
Fulcrum_013, я вам тоже рекомендую поработать с .NET, а потом уже заявлять всякую ахинею про GC и JIT. Тут нет real time задачи. ТС сказал "быстро". Быстро не значит "real time". Или в вашем мире всё, что имеет в задаче слово "станок" ассоциируется только с real time и С++?

Добавлено через 44 секунды
aquaMakc, тут никто не требовал точности в миллисекунды. Иначе бы речь шла об отдельной железке.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
04.03.2018, 13:15
Usaga, Да не буду я с ним работать. Потому что для моих задач он не подходит по определению. Так же как и GC. Но как оно внутри устроено и на что годно знаю лучше вас.
0
Эксперт .NET
 Аватар для Usaga
14371 / 9478 / 1360
Регистрация: 21.01.2016
Сообщений: 35,755
04.03.2018, 13:16
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Но как оно внутри устроено и на что годно знаю лучше вас.
Правда? Откуда, тогда, это гонево?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.03.2018, 13:16

Преобразование порта USB-2 в USB-3
Друзья, подскажите пожалуйста, если возможность преобразовать на материнской плате порт USB-2 в USB-3. Спасибо Валерий

Чтение из COM порта, При чтении из порта зависает read()
Каждому рано или поздно приходится программировать com порт. Вот и мой черед пришол. Я ужу умею: Откривать,закривать, писать. а читать не...

Программа, которая по прерыванию на входе INT1 (OMK-51) выводит разницу двух чисел на линии порта 2
Пожалуйста, помогите создать программу, которая по прерыванию на входе INT1 (OMK-51) выводит разницу двух чисел на линии порта 2. Данные...

Преобразование чисел
Здравствуйте, за последнее время, задаю очень много вопросов, но лучше уж так, чем все бросить... Вернусь к теме. Есть разные числа,...

Преобразование чисел
Помогите перевести числа из 2, 8, 16 системы счисления в 10 систему счисления.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru