Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
1

Прием, передача и сравнение последовательности Баркера

01.07.2014, 08:49. Просмотров 583. Ответов 6
Метки нет (Все метки)

Подскажите пожалуйста.Пишу программу клиент-сервер. Клиент передает м-последовательность или последовательность Баркера, сервер ее принимает и проверяет правильная ли последовательность пришла, для этого надо сравнить эталонную последовательность с пришедшей. При сравнении следует учитывать задержку прихода сигнала. Между собой программы передают последовательность через COM-порт.
В «клиенте» с помощью массива формирую последовательность Баркера, например длинной 11(последовательность из 1 и -1 дана).

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Copen_comDlg::OnBnClickedRadio6()
{
    DWORD d;
    //setlocale(0, ""); 
    int arr[11]={1,1,1,-1,-1,-1,1,-1,-1,1,-1};
    int i;
 
    for( i=0; i<11; i++)
    {
        sprintf(buffer,"%d",arr[i]);    
        WriteFile(h,buffer,strlen(buffer),&d, NULL); 
    }
}
«Сервер» считывает эту последовательность:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void CpriemDlg::OnBnClickedButton2()
{
    DWORD d;
    char buf_in[20];
    
    if(ReadFile(h,&buf_in,strlen(buf_in),&d,NULL)==0)
    
        buf_in[d]='\0';
        command_word1+= buf_in;
        UpdateData(false);
 
    }
    
    return;
    UpdateData(true);
    
}
Как сравнить пришедшую последовательность с уже имеющейся и сделать вывод что они совпадают или нет?

P.S: спасибо)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 08:49
Ответы с готовыми решениями:

Строку закодировать с помощью последовательности Баркера и вывести на экран
Итак, пользователь вводит шестиразрядное двоичное число с клавиатуры. Эту строку нужно...

ИК прием передача
Здравствуйте. Мне нужно сделать ИК приемо-передатчики. Возможно ли подключение ИК диода и ТСОП...

SPI: прием и передача
Добрый день. Осваиваю SPI на контроллере Atmega168 (slave). master устройство - Raspberry pi. Прием...

QUdpSoket передача и прием
Реализован обмен сообщения по udp. Такая проблема, при запуске на двух компьютера с ос windows все...

I2C slave: прием и передача
Добрый день! Понадобилось поднять I2C-slave режим на stm32, чтобы данные принимались и...

6
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.07.2014, 11:57 2
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
Как сравнить пришедшую последовательность с уже имеющейся
Для сравнения Си-строк см. strcmp. Для массивов и других объектов (побитово): memcmp.
1
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 14:27  [ТС] 3
А я правильно думаю, что пришедшую последовательность,мне надо преобразовать из строки в массив?
0
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.07.2014, 14:37 4
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
А я правильно думаю, что пришедшую последовательность,мне надо преобразовать из строки в массив?
Не принципиально, смотря с чем сравнивать. Если сравнивать со строкой "111-1-1-11-1-11-1", то ничего преобразовывать не надо. Если с массивом {1,1,1,-1,-1,-1,1,-1,-1,1,-1}, то надо преобразовать. Короче говоря, при сравнении "типы" должны быть одинаковыми.
1
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 14:57  [ТС] 5
а если сравнивать с массивом, подскажите как это реализовать?


P.S: огромное спасибо)))
0
Tulosba
:)
Эксперт С++
4751 / 3245 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
03.07.2014, 15:07 6
Цитата Сообщение от Wonderful-9 Посмотреть сообщение
а если сравнивать с массивом, подскажите как это реализовать?
См. описание memcmp
1
Wonderful-9
0 / 0 / 0
Регистрация: 19.05.2014
Сообщений: 9
03.07.2014, 15:09  [ТС] 7
Ок, спасибо)))
0
03.07.2014, 15:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2014, 15:09

Передача и прием команд по Ethernet
Всем добра! Вопрос таков: есть 2 машины, подключенных по Ethernet, соответственно находятся в одной...

RS-232. Передача и прием данных
Подскажите пожалуйста. не опытному программисту в чем может быть проблема с этим кодом: вставляю в...

Attiny 13 прием и передача ик сигнала
Здравствуйте форумчане,объясните пожалуйста не опытному , как принять ик сигнал ,то есть с тиньки...


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

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

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