3 / 3 / 0
Регистрация: 06.08.2014
Сообщений: 45
1

Парсинг данных

21.01.2015, 14:17. Показов 628. Ответов 9
Метки нет (Все метки)

Вопрос тут возник,может кто сталкивался с таким
Вобщем на контроллер PIC16F886 приходит пакет через com-порт (например такой "$s32FC", "полезная" информация именно "32FC") В этих значениях указывается id игрока,номер команды,наносимый урон (при переводе в двоичную систему получаем 0b00110010 - это id игрока, 0b11111100 - тут первые 2 единицы-id команды, дальше наносимый урон).
Вот проблема во втором значении,как взять сначала первые 2 единицы и сравнить их с другим значением,а потом взять все остальное(без первых двух единиц) и сравнить их с другим значением?
Надо ли как-то переводить значение 32FC в двоичный вид или контроллер сам поймет?

Помогите кто чем может
прошивку пишу на C
ide MPLABX
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.01.2015, 14:17
Ответы с готовыми решениями:

Чтение текстового файла. Парсинг его данных. Создание исключений для данных. Запись свойств объектов в файл
Проблема такая. Есть файл data.txt. В нем например какие-то данные. Landon Donovan, 150, A...

Парсинг данных
Всем привет, кто может подсказать какие возможно есть для кропа данных.. Мне надо в качестве...

Парсинг данных
Всем доброго. Мне нужно сделать работу скрипта, но я до конца не понимаю его организацию В...

Парсинг данных
{ "mid":"150589112540201022", "fid":"1", ...

9
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
21.01.2015, 15:40 2
Возможные решения:
1. "&" - поразрядная операция И; маскирование
2. "<<" - сдвиг
3. И для эстетов struct-union
Какой нравится?
1
3 / 3 / 0
Регистрация: 06.08.2014
Сообщений: 45
21.01.2015, 15:49  [ТС] 3
а как быть с тем,что приходит шеснадцатиричное число,а работать надо с двоичным? или это пофигу?
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
21.01.2015, 16:04 4
Да пофиг, система счислений это только символический метод записи чисел.
У Вас отсутствует базовый набор знаний в теме, давайте попробуем это поправить http://ermak.cs.nstu.ru/cprog/html/091.htm или Вам это не интересно и Вам просто показать как это сделать?
0
3 / 3 / 0
Регистрация: 06.08.2014
Сообщений: 45
21.01.2015, 16:10  [ТС] 5
в общих чертах понял-данные все равно храняться в виде нулей и единиц...тормознул я
за подсказку со сдвигом спасибо,будем думать сами дальше
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
21.01.2015, 16:23 6
C
1
2
3
4
5
6
7
8
unsigned char rx_bufer[2];
unsigned char id_game;
unsigned char id_command;
unsigned char demage;
 
id_game = rx_bufer[0];
id_command = rx_bufer[1] & 0b11000000;
demage = rx_bufer[1] & 0b00111111;
сдвигам выравниваем как надо.
0
985 / 608 / 101
Регистрация: 15.05.2012
Сообщений: 3,591
22.01.2015, 07:37 7

Не по теме:

damage :)



Добавлено через 1 минуту
Цитата Сообщение от Maddoc Посмотреть сообщение
пакет ... "$s32FC"
Надо полагать, приходит в ASCII. Не забыть еще привести в нужный формат.
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,884
22.01.2015, 08:09 8
Цитата Сообщение от pyzhman Посмотреть сообщение
damage
моя переменная, как хочу так и называю
0
pyzhman
22.01.2015, 13:13
  #9

Не по теме:

Почесав в затылке:
- Ну да, один хрен в памяти будет фигурировать по адресу 0х20. А там - хоть gorshok.

0
Модератор
Эксперт по электронике
8567 / 6383 / 859
Регистрация: 14.02.2011
Сообщений: 22,208
22.01.2015, 14:09 10
Цитата Сообщение от Maddoc Посмотреть сообщение
например такой "$s32FC", "полезная" информация именно "32FC") В этих значениях указывается id игрока,номер команды,наносимый урон (при переводе в двоичную систему получаем 0b00110010 - это id игрока, 0b11111100
все не так
Цитата Сообщение от Maddoc Посмотреть сообщение
пакет через com-порт
Цитата Сообщение от pyzhman Посмотреть сообщение
Надо полагать, приходит в ASCII.
следовательно придет 6 байт
$ 0x24 00100100b
s 0x74 01110100b
3 0x33 00110011b
2 0x32 00110010b
F 0x46 01000110b
C 0x43 01000011b
и может быть какой то байт означающий конец передачи,
для этого нужно знать кто шлет контроллеру данные и по какому протоколу
пока не будешь знать протокол, анализ бессмыслен
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2015, 14:09

Парсинг данных из БД
Нужно с парсить из бд таблицу giweaway, в данный момент парсится только последняя, т.е текущая...

Парсинг данных
Форумчане, здравствуйте! Нужна ваша помощь! Мне нужно сделать парсинг определенных данных, но не...

Парсинг данных с сайта
Здравствуйте, при парсинге данных с сайте, где указаны фамилии по-русски в Powershell получается...

Парсинг данных с календаря
Всем доброго времени суток! Обращаюсь к Вам с таким вопросом. Совсем недавно начал по туториалам...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru