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

Общение с com-портом - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Жесть а не код... http://www.cyberforum.ru/cpp-beginners/thread17526.html
Доброго времени суток всем кто на этом прекрасном ресурсе. Ну как обычно: в С++ я новичок, я больше по web и т.д. Люди, нужна помощь. Есть фрагмент кода: int a=10,b=10; for(int i=0;i<a;i++) { for(int j=0;j<b;j++) { if((!i)||(!j)||(i==a-1)||(j==b-1)) cout<<" *"; else cout<<" "; }
C++ Расчет стоимости поездки из одного города в другой и обратно Необходио написать программу на С для расчета стоимости поездки из одного города в другой и обратно. http://www.cyberforum.ru/cpp-beginners/thread17521.html
C++ Не понимаю формулу =)
Знаю как это сделать но не магу понять как написать эту формулу ((( хелп плз Написать функцию вычисления многочлена вида http://foto.tut.by/albums/userpics/m/g/1000025311//normal_c__664491.jpg. В качестве аргументов передать x, n и массив Cn. Для эффективного вычисления использовать схему Горнера: http://foto.tut.by/albums/userpics/m/g/1000025311//normal_c__27255778.jpg . Контрольные примеры:...
ctrl+F5=головная боль C++
Проблема такова: стоит visual c++ програма первые пару раз компилируется нормально и запускается без проблем но потом на раз так 3-5 сишка зависает полюбому)а иногда и сразу после открытия сишки и при первой же попытке скомпилировать прогу сишка виснет... в самом низу можно увидить или Compiling... после чего не следует ничего или Generating Code... после которго опять же неследует...
C++ Камешки II http://www.cyberforum.ru/cpp-beginners/thread17513.html
Игра "Камешки II" -- кто выиграет? Time limit = 5 секунд Вам нужно определить, кто выиграет в игре "Камешки II" (Stone Game II). Есть k кучек по n1, n2, ... , nk камней. За ход разрешено взять любое ненулевое количество камней из какой-нибудь одной кучки, но не более, чем половину этой кучки. Кто не может сделать ход (во всех кучках по одному камню), тот проигрывает. Вход Количество...
C++ Сортировка двумерного массива Есть задачка с 3-ох пунктов. Первый я сделал(создать многомерный целочисельный масив заданый пользователем). А вот с двумя никак не могу разобратся. Вроде как и легко, но не могу =(( Второе: реализовать функцию сортировки двумерного массива с левого верхнего до правого нижнего угла!(По строках) Пример: 1 2 3 4 5 7 Третье: Реализовать функцию для сортировки столбцов двумерного массива за... подробнее

Показать сообщение отдельно
CheshireCat
Эксперт С++
2890 / 1239 / 78
Регистрация: 27.05.2008
Сообщений: 3,327
05.12.2008, 11:26     Общение с com-портом
Тьфу, черт! А отладчик у тебя для чего? Ладно. Побуй вот такой код (только не забудь обработать ошибки):
Код
     char address;
     std::cout << "Enter address\n";
     std::cin >> address;
     HANDLE hCom;
     COMMTIMEOUTS lpTo;
     COMMCONFIG lpCC;
     char str_com[10];
     
     unsigned short no_com = 0;
     hCom = 
          // и под Win9x, и под WinNT имя файла должно быть таким, хотя Win9x понимает и просто "COM2"
          CreateFile("\\\\.\\COM2", 
               GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 
               FILE_ATTRIBUTE_NORMAL, NULL);
               // нафига тебе FILE_FLAG_OVERLAPPED? Где overlapped-структура?
     
     if (hCom != INVALID_HANDLE_VALUE)   // а вдруг порта нет или он занят уже кем-то?
     {
         if (GetCommState(hCom, &lpCC.dcb) == FALSE)
         {
             /*обработать ошибку, например:
             CloseHandle(hCom);
             return;
             */
             ;
         }
         
         lpCC.dcb.BaudRate = CBR_19200;
         lpCC.dcb.ByteSize = 8;
         lpCC.dcb.StopBits = ONESTOPBIT;
         lpCC.dcb.Parity = MARKPARITY;
         lpCC.dcb.fDtrControl = DTR_CONTROL_DISABLE;
         lpCC.dcb.fRtsControl = RTS_CONTROL_DISABLE;
         if (SetCommState(hCom, &lpCC.dcb) == FALSE)
         {
             /*обработать ошибку*/;
         }
         
         if (SetupComm(hCom, 2048, 2048) == FALSE)
         {
            /*обработать ошибку*/;
         }
         if (PurgeComm(0hCom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR) == FALSE)
         {
            /*обработать ошибку*/;
         }
         
         // А таймауты кто ставить будет? поставить.
         
         DWORD dwBytesWritten = 0;
         if (WriteFile(hCom, &address, sizeof(address), &dwBytesWritten, NULL) == FALSE)
         {
            /*обработать ошибку*/;
         }
         if (dwBytesWritten != sizeof(address))
         {
            /*обработать ошибку*/;
         }
         CloseHandle(hCom);
     }
 
Текущее время: 12:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru