Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2011, 11:34   #1
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию кодировка данных

есть устройство, которое присылает данные на компьютер. данные эти мы получили, но они в какой-то непонятной для нас кодировке. то есть сначала данные идут в HEX, но потом приходит символ "0E"

Цитата:
SO - Shift Out. Указывает, что все последующие кодовые комбинации должны интерпретироваться согласно внешнему набору символов до прихода символа SI.
и вот после этого символа непонятно как раскодировать полученные данные.

в приложеном файле весь набор данных. по идее должны получить цифровое значение, которое изменяется в пределах 0 ~ 300.

заранее благодарен
Вложения
Тип файла: txt данные.txt (560 байт, 154 просмотров)
IIUH вне форума Ответить с цитированием
Старый 11.10.2011, 06:27   #2
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

22 просмотра и ни одного ответа ап?
IIUH вне форума Ответить с цитированием
Старый 11.10.2011, 08:55   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
но они в какой-то непонятной для нас кодировке
почему вы решили, что они текстовые?

Цитата:
то есть сначала данные идут в HEX, но потом приходит символ "0E"
Чем 0Е не хекс?

Цитата:
SO - Shift Out
Ну раз есть описание, то почему бы его не почитать?
p51x вне форума Ответить с цитированием
Старый 11.10.2011, 10:48   #4
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

0Е это НЕХ, символ этот интерпритируется как
Цитата:
SO - Shift Out
если не в текстовой, то в какой?

Цитата:
Ну раз есть описание, то почему бы его не почитать?
гениально! чтоб я без этого совета делал. . . где описание?? описание чего?? у нас есть описание символа 0Е и дальше что-то неведомое.
IIUH вне форума Ответить с цитированием
Старый 12.10.2011, 11:07   #5
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вы прикидыватесь или ниразу не программировали?

Все идет в хексе, формат чисел может зависеть от железки. Все остальное протокол, типа:
старт данные стоп
SO ......... SI
p51x вне форума Ответить с цитированием
Старый 12.10.2011, 15:49   #6
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

IIUH вы дали слишком мало информации.
Что за устройство? Какие данные передаёт? В каком формате передаються числа (целые числа или дробные)? Сколько знаков после запятой? Есть ли возможность зафиксировать данные на определнном уровне? Есть ли возможность сопоставить данным в виде HEX известное значение?

А в таком виде, извените. Мне ваш вопрос почемуто напоминает сказку "Пойди туда - не знаю куда, принеси то - не знаю что".

PS. похоже что Shift Out и Shift In здесь вообще непричём.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."
val_nnm вне форума Ответить с цитированием
Старый 12.10.2011, 16:03   #7
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

Цитата:
Сообщение от val_nnm Посмотреть сообщение
IIUH вы дали слишком мало информации.
Что за устройство? Какие данные передаёт? В каком формате передаються числа (целые числа или дробные)? Сколько знаков после запятой? Есть ли возможность зафиксировать данные на определнном уровне? Есть ли возможность сопоставить данным в виде HEX известное значение?

А в таком виде, извените. Мне ваш вопрос почемуто напоминает сказку "Пойди туда - не знаю куда, принеси то - не знаю что".

PS. похоже что Shift Out и Shift In здесь вообще непричём.
наконец-то что-то дельное, а то такая реакция, как будто это всё объясняют во втором классе каждой школы для особо одарённых и это очевидно. . . .

отвечаю: устройство - тахометр. передаёт обороты (извиняюсь за очевидность). числа передаются в формате XXX.XX точка плавающая, но в наших данных должно быть именно так (два знака после точки). зафиксировать данные на определённом уровне кроме нуля в нашем случае не представляется возможным. в тех данных, что я выложил, значение должно меняться максимум 300 оборотов, минимум 0. (0 имеет формат 0.00)
IIUH вне форума Ответить с цитированием
Старый 12.10.2011, 17:22   #8
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

Я предпологая что эти данные состоят из слов (1 слово = 2 байта). Которые передают каоенибуть количество отсчётов за какойнибть промежуток времени. Но правда иногда встрчаються довольго странные числа "00 CF" "00 C0" "00 B8" и.т.п.

Тогда я ещё несколько наводящих вопросов задам.
С какой скоростью вы получаете данные, сколько чисел в секунду или в минуту? прибор выдаёт числа по одной, или сразу группами 2, 4, 8 или больше? (под числом я имею ввиду 1 байт т.е. пара шестнадцатеричных цифр (в ваших данных каждая строка) например "75" или "0D" )
Тахометр выдаёт данные только для врашения в одном направлении или в обоих?
Какие данные он выдаёт когда находиться в полом покое?
Есть ли возможзность получить данные при небольшой скорости врашения (крутить рукой примерно 1-30 оборота в минуту в одну сторону)?

А и ещё. Есть кокойнибуть шаг изменения значения? (индакатор может показывать скорость 000.00 а сдедующее взможное значение 001.25 то шаг будет 1.25 ) И изменяеться ли этот шаг в зависимости от текущей скорости? (скажем 000.00-001.25 но 200.00-210.50 )
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."

Последний раз редактировалось val_nnm; 12.10.2011 в 17:50.
val_nnm вне форума Ответить с цитированием
Старый 14.10.2011, 10:08   #9
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

тахометр выдаёт порциями по 4 пары шестнадцатиричных чисел. приблизительно в таком формате 6C 0D 4числа 6C 0D 4числа 6C 0D. в обратном направлении вращать не пробовали, но зная принцип работы тахометра, он должен выдавать значения без всяких знаков. в полном покое выдаёт всё те же 6C 0D. при малых оборотах должен выдавать значения. на счёт шага измерения честно признаюсь, неизвестно ничего.

скорость обмена данных 9600.

что-то не могу никак найти информацию о том, как часто он должен отправлять данные на ПК

вот ссылка на описание такого же тахометра
IIUH вне форума Ответить с цитированием
Старый 16.10.2011, 11:49   #10
IIUH
Пользователь
 
Регистрация: 02.08.2011
Сообщений: 35
По умолчанию

что-то совсем ничего нет
IIUH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при получении данных из WEB Никки Общие вопросы по Java, Java SE, Kotlin 3 28.12.2013 19:17
Кодировка данных Aleskandr PHP 9 05.07.2011 22:28
База данных MySQL и кодировка! nikolai_P SQL, базы данных 3 17.11.2009 22:50
Кодировка передачи данных в Word Flame_of_Death Общие вопросы Delphi 3 14.07.2009 12:25
База данных и кодировка RIO Общие вопросы Delphi 2 21.05.2009 11:08