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

Подключить устройство через COM-порт и отправить на него данные - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа для печати всех файлов из указанной папки http://www.cyberforum.ru/cpp/thread110488.html
Добрый день! Весь интеренет облазил не могу найти прогу которая будет печатать файл попадающий в указанную папку и после печати удалять его( Я сам не программист, и поэтому прошу Вас если можете напишите эту программку... Если найдутся добрые люди вышлите ее на мой e-mail пожалуйста: lemuriec@bk.ru. С уважением, lemuriec.
C++ Хороший или плохой тон программирования вот в книгах читаю что гото туфта полная..на форуме тоже так говорят,а почему?очень нужная вещь,иногда лучше использовать это чем циклы http://www.cyberforum.ru/cpp/thread109667.html
книга Windows 2000 API Р.Саймон где скачать диск с программами? C++
книга Windows 2000 API Р.Саймон где скачать диск с программами который идет к книге?
Календарь C++
Дни недели пронумерованы следующим образом: 1 — понедельник, 2 — вторник, ... , 6 — суббота, 7 — воскресенье. Дано целое число K, лежащее в диапазоне 1–365, и целое число N, лежащее в диапазоне 1–7. Написать программу, которая определяет номер дня недели для K-го дня года, если известно, что в этом году 1 января было днем недели с номером N. Входные данные Со стандартного потока ввода вводится...
C++ Как сделать сохранение? http://www.cyberforum.ru/cpp/thread109203.html
как сделать сохранение всех сточек в текстовый файл для этой программы? подскажыте...
C++ Текст плеера дайте текст плеера! подробнее

Показать сообщение отдельно
Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
05.02.2013, 17:55     Подключить устройство через COM-порт и отправить на него данные
Shadow_i, вот... Ошибка была в том, что buffer_in указывал хрен пойми куда.

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
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <fstream>
using namespace std;
 
char         *bufer_out = "Polutchilos";
char         *bufer_in = new char[strlen(bufer_out) + 1];
DWORD         bc;
 
 
int main()
{
    HANDLE hCOM=CreateFile(L"COM3",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    DCB dcb;
 
    dcb.DCBlength = sizeof(DCB);
 
    dcb.BaudRate = 9600;
    dcb.fBinary = FALSE;
    dcb.fOutxCtsFlow = FALSE;
    dcb.fOutxDsrFlow = FALSE;
    dcb.fDtrControl = DTR_CONTROL_DISABLE;
    dcb.fDsrSensitivity = 0;
    dcb.fNull = FALSE;
    dcb.fRtsControl = RTS_CONTROL_DISABLE;
    dcb.fAbortOnError = FALSE;   
    dcb.Parity = 0;
    dcb.StopBits =0;
    dcb.ByteSize = 6;
    
    COMMTIMEOUTS comtimeouts; 
    
    comtimeouts.ReadIntervalTimeout = 0;
    comtimeouts.ReadTotalTimeoutMultiplier = 0;
    comtimeouts.ReadTotalTimeoutConstant = 0;
    comtimeouts.WriteTotalTimeoutMultiplier = 0;
    comtimeouts.WriteTotalTimeoutConstant = 0;
    
    WriteFile(hCOM,bufer_out,strlen(bufer_out),&bc,NULL);
    
    ReadFile(hCOM, bufer_in,strlen(bufer_in),&bc, NULL);
    
    cout << bufer_in;
 
    CloseHandle(hCOM);
    
    system ("pause");
return 0;
}
Добавлено через 1 час 46 минут
Да, и ещё... Ошибку я вам исправил, но программа от этого рабочей не стала. Всё дело в том что, когда вы вызываете
C++
1
WriteFile(hCOM,bufer_out,strlen(bufer_out),&bc,NULL);
то вы отсылаете данные "в пустоту", ну не то чтобы в пустоту, просто эти данные никто не принимает. А когда дело доходит до
C++
1
ReadFile(hCOM, bufer_in,strlen(bufer_in),&bc, NULL);
то программа ждёт данных с COMпорта, но их никто не высылает, поэтому она зацикливается на этой строчке.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru