Hye all
Below I have pasted my C serial port code .
Iam getting error
Code:
Cannot open Communication Port. error no.2
.
error no.2 specifies that system cannot find the file specified.
Does anyone have suggestion


Code:
#include "stdafx.h"
#include<windows.h>
#include<winbase.h>
#include <conio.h>

HANDLE hComm;
BOOL m_bPortReady;
DCB  m_dcb;
COMMTIMEOUTS m_CommTimeouts;
DWORD iBytesWritten;
int gle;

BOOL ConfigurePort(DWORD BaudRate, BYTE ByteSize, DWORD fParity, BYTE Parity, BYTE StopBits)
{
	if((m_bPortReady = GetCommState(hComm, &m_dcb))==0)
		{
			printf("GetCommState Error");getch();
			CloseHandle(hComm);
			return false;
		}
	m_dcb.BaudRate =BaudRate;
	m_dcb.ByteSize = ByteSize;
	m_dcb.Parity =Parity ;
	m_dcb.StopBits =StopBits;
	m_dcb.fBinary=TRUE;
	//m_dcb.fDsrSensitivity=false;
	m_dcb.fParity=fParity;
//	m_dcb.fOutX=false;
//	m_dcb.fInX=false;
//	m_dcb.fNull=false;
//	m_dcb.fAbortOnError=FALSE;
//	m_dcb.fOutxCtsFlow=FALSE;
//	m_dcb.fOutxDsrFlow=false;
	//m_dcb.fDtrControl=DTR_CONTROL_DISABLE;
	//m_dcb.fDsrSensitivity=false;
	//m_dcb.fRtsControl=RTS_CONTROL_DISABLE;
	//m_dcb.fOutxCtsFlow=false;
	//m_dcb.fOutxCtsFlow=false;

	m_bPortReady = SetCommState(hComm, &m_dcb);
	if(m_bPortReady ==0)
	{
		printf("SetCommState Error");getch();
		CloseHandle(hComm);
		return false;
	}
		return true;
}
BOOL SetCommunicationTimeouts(DWORD ReadIntervalTimeout, DWORD ReadTotalTimeoutMultiplier, DWORD ReadTotalTimeoutConstant, DWORD WriteTotalTimeoutMultiplier, DWORD WriteTotalTimeoutConstant)
{
if((m_bPortReady = GetCommTimeouts (hComm, &m_CommTimeouts))==0)
   return false;
m_CommTimeouts.ReadIntervalTimeout =ReadIntervalTimeout;
m_CommTimeouts.ReadTotalTimeoutConstant =ReadTotalTimeoutConstant;
m_CommTimeouts.ReadTotalTimeoutMultiplier =ReadTotalTimeoutMultiplier;
m_CommTimeouts.WriteTotalTimeoutConstant = WriteTotalTimeoutConstant;
m_CommTimeouts.WriteTotalTimeoutMultiplier =WriteTotalTimeoutMultiplier;
		m_bPortReady = SetCommTimeouts (hComm, &m_CommTimeouts);
		if(m_bPortReady ==0){
printf("StCommTimeouts function failed");getch();
		CloseHandle(hComm);
		return false;}
		return true;
}	

BOOL WriteByte(char* bybyte)
{
	iBytesWritten=0;
	if(WriteFile(hComm,bybyte,1,&iBytesWritten,NULL)==0)
		return false;
	else 
		return true;
}
BOOL ReadByte(char *resp)
{

	char rx;
	resp = 0;
	DWORD dwBytesTransferred=0;
	if(ReadFile (hComm, &rx, 1, &dwBytesTransferred, 0))
	{
		if (dwBytesTransferred == 1)
		{
			resp=&rx;
			return true;
		}
	return false;
	}
}
int _tmain(int argc, _TCHAR* argv[])
{
	
	hComm = CreateFile((LPCWSTR)"COM1",
                      GENERIC_READ | GENERIC_WRITE,
                      0,
                      0,
                      OPEN_EXISTING,
                      FILE_FLAG_OVERLAPPED,
					  0);

	if(hComm==INVALID_HANDLE_VALUE)
		{
			printf("Cannot open Communication Port..");
			gle = GetLastError();
			printf("error no.%d\n", gle);
			getch();
			return false;
		}

	DWORD data=0; 
	unsigned char a[2], b[1],buffer[10],sendb[14], *vptr;
	char *ptr; 
	char err[4];
	int slen;
	char rx = 0;
	char x[1];
	char bw;
	/*short int crcv;//unsigned char* ptr;
	unsigned char buff[10] = {0x1b,0x81,0x00,0x80,0x00,0x80,0x40,0x00,0x00,0x1};
	unsigned char buff[10] = {0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30};
	crcv = Calc_CCITT_CRC(buff, 10);

	ptr = (char*)&crcv;
	sprintf(a, "%c%c", *ptr, *(ptr+1));
	sprintf(b, "%c", 0x7e);
	memcpy(buffer, buff, 10);
	sendb[0] = (char)0x7e;
	for(int j = 1; j < 11; j++)
		sendb[j] = buff[j-1];
	//free(buff);
	sendb[11] = (char)*ptr;
	sendb[12] = (char)*(ptr+1);	
	sendb[13] = (char) 0x7e;int gle;
	*a = (unsigned char)0x30; //*(a+1) = (unsigned char)0x32;
	sprintf(sendb, "%s%s%s%s", b, buff, a, b);
	CString dsend = CString(b)+ CString(buff) + CString(a) + CString(b);*/
	char dsend = char(a);//sendb);
	b[0] = 0x31;
	vptr = (unsigned char*)&b;

	
	if(!ConfigurePort(9600, 8, 0, NOPARITY, ONESTOPBIT))
	{
		printf("Cannot Configure Communication Port");
		getch();
		CloseHandle(hComm);
	}
	else
	{
	if(!SetCommunicationTimeouts(1000,1000,1000,1000,1000))
	{
		printf("Cannot Configure Communication Timeouts");
		getch();
		CloseHandle(hComm);
	}
	else
	{
	if(!WriteByte(&dsend))
	{
		printf("Cannot Write to Port");
		int gle = GetLastError();
		sprintf(err, "%x", gle);
		getch();
		CloseHandle(hComm);
	}
	else
	{
		sprintf(x, "%x",dsend);
		printf("Success%c",x);
		if(!ReadByte(&bw))
		printf("Timeout on getting Response.Please ensure that\nyou have connected the loop back plug to com1.");
	else 
	{
		memset(x, 0, 1);
		printf("Successfully Read from Com1");
		sprintf(x,"%x", bw);
		printf("Read Byte %c",x);
		getch();
		CloseHandle(hComm);
	}
	}
	}
	}
	}