Форум программистов, компьютерный форум CyberForum.ru

работа с COM портом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти первую повторяющуюся строку в массиве строк http://www.cyberforum.ru/cpp/thread100164.html
Здравствуйте, существует задача: найти первую повторяющуюся строку в массиве строк. Подскажите пожалуйста как правильно реализовать алгоритм. Я смутно себе это представляю, но точно думаю что все строки нужно сравнить между собой, а как дальше?
C++ Конвертация строк. Существует задача преобразования текста, читаемого из файла в кодировке ANSI в кодировку ASCII, чтобы русский текст нормально отражался в программе, и наоборот, записать русский текст из программы в файл. Согласно Puporevу (... ), она возникает достаточно часто. Привожу перевод на c++ его процедур для такой конвертации (...): void AnsiToAscii(cahr *s:string) { char *p; if (s==nULL) { ... http://www.cyberforum.ru/cpp/thread100127.html
Решить прикладную задачу с помощью циклического вычислительного процесса C++
Помогите решить...Не знаю как... Решить прикладную задачу с помощью циклического вычислительного процесса. Дано натуральное n. Вычислить: "Миниатюры" //--------------------------------------------------------------------------- #include <vcl.h> #include <iostream.h> #include <conio.h>
Замена всех "не букв" на их 8-ое представление C++
Помогите с программой. Замены всех не букв во вводимой строке на их восьмеричное представление и вывода результата. есть похожая программа, там ..замена всех заглавных букв на их 8-ое представление.. #include "stdafx.h" #include <iostream> #include <string.h> #include <conio.h> using namespace std;
C++ Лаба по созданию класса http://www.cyberforum.ru/cpp/thread99791.html
Задали создать класс, где нужно сделать вот это: 4. Определить в классе селекторы и модификаторы 5. Определить указатель на экземпляр класса Могли бы вы мне пояснить, что такое селекторы и экземпляр класса и привести пример кода?
C++ Составить программу, вычисляющую сумму ряда Ужас... мозг сломан. Сил не осталось.. может кто-нибудь поможет? Составить программу, вычисляющую сумму ряда Программа должна вычислять сумму ряда для аргументов Х в диапазоне от начального значения до конечного значения с некоторым шагом, которые вводятся в диалоге с клавиатуры. Кроме того вводится максимальная погрешность E (конкретное значение можно взять ,001 или ,0001) Программа... подробнее

Показать сообщение отдельно
vegor
Сообщений: n/a

работа с COM портом - C++

01.03.2010, 12:33. Просмотров 1336. Ответов 1
Метки (Все метки)

здравствуйте всем,я в форумах в первие ,и просил бы не судить очень строго. помогите пожалуйста , хочу реализовать приложение работающую с <COM> портом.А для проверки работы приложения коротко замыкаю(к.з.) ножки RD(Вх.) и TD(Вых.) , чтобы WriteFile дала данные а ReadFile считало бы те же данные с того же порта.
сначало создаю диологовое приложение <bbb> а потом например в OnInitDialog()-е создаю COM-порт
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{
...
 
OVERLAPPED ovr;  
 
hCOM = CreateFileA("COM1", GENERIC_READ |GENERIC_WRITE, // создание синхронного порта
        0,NULL,OPEN_EXISTING,NULL,NULL);
PurgeComm(hCOM,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); ///restart
GetCommState(hCOM,&dcb);
SetCommState(hCOM,&dcb);
SetCommTimeouts(hCOM,&to);
 
SetupComm(hCOM,in,out);
 
//memset(&ovr,0,sizeof(ovr));
//ovr.hEvent =::CreateEventA(NULL,FALSE,FALSE,NULL);
 
PurgeComm(hCOM,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); ///restart
 
int in = 0;
 int out = 0;
 
return TRUE;  // return TRUE  unless you set the focus to a control
}
потом создаю кнопку и в нем создаю поток
...
CbbbDlg* lpMyObject = new CbbbDlg;
AfxBeginThread(MyFunction, lpMyObject,0,0,0,0);
 
а в MyFunction-е
...
UINT MyFunction(LPVOID pParam);
 UINT MyFunction(LPVOID pParam)
{
   CbbbDlg* lpObject = (CbbbDlg*)pParam;
  // CSingleLock FirstLock(&(lpObject->m_Critic)) ; /// что то для синхронизации
 
   lpObject->OnBnClickedButtonWrite();  // в нем WriteFile 
 
return 0;
 
}
 
а в void CbbbDlg::OnBnClickedButtonWrite()
{
   out = 20;  /// например out = 20
     while(1)
       WriteFile(hCOM,(LPCVOID)&out,sizeof(out),&dw,&ovr);
 
}
 
и создаю кнопку для чтения из порта
void CbbbDlg::OnBnClickedButtonReadCom()   ///кнопка
{
 
ReadFile(hCOM , (LPVOID)&in , sizeof(in) , &dw , &ovr);
   m_edit_int = in;  /// m_edit_int это <edit control> где должен отображатся <in>
    UpdateData(FALSE);
}
 
а в конце
void CbbbDlg::OnBnClickedButtonCancel()  /// Cancel
{
PurgeComm(hCOM,PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); ///restart
    CloseHandle(hCOM);
 
    OnOK();
}
не какой ошибки не дает а после запуска приложения когда нажимаю кнопку OnBnClickedButtonReadCom() в <edit control>-е ничего не изменяется , результат <0>
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru