Добрый день.
Вопрос такого плана. До этого проблем с COM-портами никогда не было.
Поставил перемычку с Tx на Rx COM3.
ADIS_ver = fopen("ADIS.txt","w");
hCom=CreateFile(TEXT("COM3:"),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
dcb.DCBlength = sizeof(DCB);
dcb.BaudRate = 19200;
dcb.fBinary = TRUE;
dcb.fDtrControl = DTR_CONTROL_ENABLE;
dcb.fRtsControl = RTS_CONTROL_ENABLE;
dcb.fAbortOnError = TRUE;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
cto.ReadIntervalTimeout=10;
cto.ReadTotalTimeoutMultiplier = 1;
cto.ReadTotalTimeoutConstant = 100;
cto.WriteTotalTimeoutMultiplier = 0;
cto.WriteTotalTimeoutConstant = 0;
SetCommState(hCom, &dcb);
PurgeComm(hCom,PURGE_TXCLEAR);
PurgeComm(hCom,PURGE_RXCLEAR);
SetupComm(hCom,1024,1024);
SetCommMask (hCom, EV_RXCHAR );
while(p)
{
buf_com_send[0] = 1;
buf_com_send[1] = 3;
n = WriteFile (hCom, buf_com_send, sizeof(buf_com_send), &dwBytesWrite, 0);
SetCommMask (hCom, EV_RXCHAR );
WaitCommEvent (hCom, &dwCommModemStatus, 0);
n = ReadFile (hCom, buf_com_rec, sizeof(buf_com_rec), &dwBytesReceived, 0);
fprintf(ADIS_ver,"%i\n",ADIS_data.s.Version);
PurgeComm(hCom,PURGE_RXCLEAR);
if((c++)>100) {p = 0; fclose(ADIS_ver);}
}
Компилирую проект в VS2005. Переношу на Тион-Про270, там запускаю и Windows CE наглухо зависает. Проблема решается, если снять питание с платы.
До этого все проекты с COM-портом на Тионе-Про270 шли без проблем, всё работало.
Плату Вам возил, сказали, что всё нормально.
Так вот вопрос, в чём может быть проблема?
Может эта проблема быть связана с тем, что брал демонстрационный образ с Вашего сайта, где написано, что они работают ограниченное время, если да, то сколько стоит лицензированный образ для Windows CE 6.0?
Спасибо.