Стенд доделал, все работает нарадоваться не могу. Конечно все еще сыровато...
Есть вещь которая меня напрягает. Для работы с СОМ портом использую такой код
#include <windows.h>
#include <string.h>
. . .
DCB dcb;
COMMTIMEOUTS ct;
HANDLE port;
DWORD bc;
char *buf_out="Test string";
char *buf_in;
. . .
dcb.DCBlength=sizeof(DCB);
BuildCommDCB("baud=9600 parity=N data=8 stop=1",&dcb);
dcb.fNull=TRUE;
ct.ReadIntervalTimeout=10;
ct.ReadTotalTimeoutMultiplier=ct.ReadTotalTimeoutConstant=0;
ct.WriteTotalTimeoutMultiplier=ct.WriteTotalTimeoutConstant=0;
port=CreateFile("COM2",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
SetCommState(port,dcb);
SetCommTimeouts(port,&ct);
PurgeComm(port,PURGE_TXCLEAR|PURGE_RXCLEAR);
SetupComm(port,256,256);
. . .
buf_in=(char*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,strlen(buf_out)+1);
WriteFile(port,buf_out,strlen(buf_out),&bc,NULL);
ReadFile(port,buf_in,strlen(buf_out),&bc,NULL);
HeapFree(GetProcessHeap(),0,buf_in);
CloseHandle(port);
В стенде стоит микруха PL2303, эмуляция СОМ порта. Так вот подключаю стенд к ПК, появляется СОМ5 порт, программа его определяет нормально, т.е. открывает порт.
Но при передаче на стенд приходит 128, хотя я 10 передаю...Закрываю свою прогу.
Затем запускаю программу COM Port Toolkit 3.8, открываю ей СОМ5 и закрываю. После э
того запускаю свою прогу и все заботает. Если стенд отключить от ПК, то все приходится заново начинать.
www.kirov-rockets.ru