Конференция "WinAPI" » данные с com порта
 
  • Палыч © (31.03.11 13:21) [0]
    Пишу програмку регистрации данных напряжения с 5-канального АЦП. Данные приходят, но имеют вот такой вид:"ёИЙф™ёиШИИёШЙи9(". Как мне преобразовать их для построения соответствующих графиков?
  • Сергей М. © (31.03.11 13:31) [1]
    А не надо ничего "преобразовывать".
    Просто не смотри на поступающие данные как на коды печатных символов)
  • Палыч © (31.03.11 13:41) [2]
    Тоесть каждому символу соответствует 1байт шестнадцатиричного кода? А как по ним графики построить?
  • Anatoly Podgoretsky © (31.03.11 13:58) [3]
    К производителю уже обращался?
  • Alex_C (31.03.11 14:18) [4]
    Очеь правильный совет дал Сергей М. - бы вообще зачем на данные как на буковки смотришь? Каждой буковке соответствует циферка. Вот на нее и смотри.
    Другое дело - что это циферка означает? Тут уже документацию на АЦП смотреть надо.
  • Сергей М. © (31.03.11 14:39) [5]

    > Anatoly Podgoretsky ©   (31.03.11 13:58) [3]
    >
    > К производителю уже обращался?


    Это ж не наш метод - мы ж кулибины)
    Научный тык - вот что движет прогрессом)
  • Палыч © (31.03.11 18:09) [6]
    Производитель не известен. мне дали железяку на PIC16F870, и велели написать программу приема и обработки данных от 5 датчиков. По описпнию контроллера на выходе АЦП последовательно выводится по 1 байту с каждого из 5 каналов. А чё прилетает на самом деле и как это обработать...
  • Германн © (31.03.11 18:25) [7]

    > последовательно выводится по 1 байту с каждого из 5 каналов.

    Скорее уж по 2 байта.
  • Палыч © (31.03.11 18:32) [8]
    Почему именно по 2?
  • Палыч © (31.03.11 18:37) [9]

    > Почему именно по 2?

    Дошло.
    Так как разобрать принятые данные? В итоге должны получитьсяя числа с точностью до тысячных
  • Игорь Шевченко © (31.03.11 18:47) [10]

    > мне дали железяку на PIC16F870


    обратиться к тому, кто дал. Или предлагаешь нам погадать ?
  • Anatoly Podgoretsky © (31.03.11 19:01) [11]
    Нужен документированый протокол
  • ТЧеловек (31.03.11 23:10) [12]
    > выводится по 1 байту с каждого из 5 каналов.
    > Скорее уж по 2 байта.
    ммм...
    > ёИЙф™ёиШИИёШЙи9(
    что-то мне кажется, что все-таки один...
    ё уж больно часто встречается...через каждые 5 байт, может и совпадение конечно...
  • Германн © (01.04.11 01:12) [13]

    > что-то мне кажется, что все-таки один...
    > ё уж больно часто встречается...через каждые 5 байт, может
    > и совпадение конечно...

    Может и не совпадение. Тогда значит железяку делал либо троешник, либо извращенец. Тогда просто трудно придумать что в этих трех комбинациях из пяти байт передаётся.

    ИШ абсолютно прав. Нужно
    > обратиться к тому, кто дал.

    Или послать того, кто дал. :)
  • han_malign (01.04.11 08:49) [14]

    > по 1 байту
    ...
    > с точностью до тысячных

    - значит значение надо аккумулировать, а если аккумулировать - то надо знать где начало и конец посылки...

    Выборку побольше собери, и в Hex-представлении бинарного потока(BinToHex), чтобы не гадать сколько раз кодировка кракозяб изменилась при копировании...

    И надеюсь там нигде не было преобразования строк UCS<=>ANSI...
  • Палыч © (03.04.11 13:05) [15]
    А как мне отобразить этот поток в десятичном виде?
  • Германн © (03.04.11 14:36) [16]

    > Палыч ©   (03.04.11 13:05) [15]
    >
    > А как мне отобразить этот поток в десятичном виде?
    >

    В десятичном не наглядно. Лучше в шестнадцатиричном c помощью IntToHex.
  • Anatoly Podgoretsky © (03.04.11 16:21) [17]
    > Германн  (03.04.2011 14:36:16)  [16]

    Лучше в двоичном, особо наглядно
  • Германн © (03.04.11 16:26) [18]

    > Лучше в двоичном, особо наглядно
    >

    Не соглашусь.
  • Anatoly Podgoretsky © (03.04.11 16:35) [19]
    > Германн  (03.04.2011 16:26:18)  [18]

    Ну как же, во столько раз шире
  • Германн © (04.04.11 03:30) [20]

    > Ну как же, во столько раз шире
    >

    Это шутка? Или что?
  • han_malign (05.04.11 12:03) [21]

    > А как мне отобразить этот поток в десятичном виде?

    - что узнать как демультиплексировать данные бинарного потока, надо для начала увидеть дамп этого потока...
    Твой вопрос относится к области - "сделайте мне хорошо"...
    А пока могу посоветовать только Random...
  • tesseract © (05.04.11 20:52) [22]

    > - что узнать как демультиплексировать данные бинарного потока,
    >  надо для начала увидеть дамп этого потока...


    Описание протокола от производителя намного предпочительнее. Вдруг там нормальный поток байт, а не интеловский? И CRC в нормальных протоколах бывает.
  • Германн © (06.04.11 02:20) [23]

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

    Это как это?
    Старший байт первый? Это нормальный поток?
  • han_malign (06.04.11 16:31) [24]

    > Старший байт первый? Это нормальный поток?

    - это как раз нормальный network order поток - дампы гораздо проще читать...
    Не путайте с тупоконечным...
 
Конференция "WinAPI" » данные с com порта
Есть новые Нет новых   [134431   +12][b:0][p:0.001]