Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Labotryas
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 18
#1

Преобразование float значений полученных из COM порта

19.01.2017, 13:47. Просмотров 331. Ответов 4
Метки нет (Все метки)

Доброго времени суток.
проблема с преобразованием вещественных числе, в данном случае FLOAT.

подключаюсь я к устройству через виртуальный com порт для считывания данных.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private SerialPort port1 = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One); //создаю порт 
port1.ReadTimeout = 800; 
port1.DiscardInBuffer(); 
port1.DiscardOutBuffer(); 
port1.Write(kod, 0, kod.Length); // посылаю в порт код 
byte [] rez; 
rez=new byte[32]; // переменная для считывания из порта данных длинной 32 бита 
// цикл считывания побайтно из порта и преобразую в различные системы счисления. 
// в байтах со 2 по 5 байт со смещением в 4 байта (так как в ответ первые 4 байта идет номер прибора и код запроса) должно быть число близкое к 441,99-442,99 
for (int i = 0; i < 32; i++) 
{ 
rez[i]= Convert.ToByte(port1.ReadByte()); 
if (i > 5 & i < 10) str = str + Convert.ToString(rez[i], 2); 
listBox1.Items.Add(Convert.ToString(rez[i],16) + " "+ Convert.ToString(rez[i],10)+" "+ Convert.ToString(rez[i],2)); 
} 
// а у меня какая то непонятная лабудень получается.вот собственно ответ
0
Миниатюры
Преобразование float значений полученных из COM порта  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2017, 13:47
Ответы с готовыми решениями:

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

Преобразование числового значения типа Float для передачи по RS-232 (SerialPort)
Добрый день! Возникла следующая проблема: необходимо преобразовать число типа...

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

Формат single IBM float point преобразование в Csharp Single(float) формат
Возникла проблема с чтением данных в формате IBM float point. Пытался найти...

Обработка данных, полученных из COM-порта
В текстовом файле одна строка с данными полученными из СОМ порта(файл REG.jpg)....

4
Labotryas
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 18
19.01.2017, 13:48  [ТС] #2
88 56 31 0 f0 это номер прибора и параметр, где 33 30 9С 81 должно быть нужное число.
но, вроде разобрался о хранении вещественных чисел, но все равно не получается преобразовать в или в 10 или 16-ти ричную систему.
заранее всем благодарен за помощь.
0
Vamireh
5 / 5 / 2
Регистрация: 21.01.2015
Сообщений: 29
21.01.2017, 10:11 #3
Может BitConverter.ToSingle() нужен?
1
Labotryas
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 18
22.01.2017, 01:38  [ТС] #4
Спасибо, попробую.
0
Labotryas
0 / 0 / 0
Регистрация: 19.01.2017
Сообщений: 18
23.01.2017, 09:45  [ТС] #5
то что нужно.
0
23.01.2017, 09:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2017, 09:45

Обработка полученных данных с COM порта
Доброго всем времени суток. Вопрос такого плана - есть некое устройство...

Чтение и обработка данных полученных из COM порта
Есть микроконтроллер с датчиком (акселерометр), эмулируется COM порт на USB,...

Преобразование данных, полученных в ходе выполнения запроса (обрезка, замена)
Имеется запрос, который предоставляет всю информацию. Работает корректно,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru