#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <dirent.h>
#include <string.h>


BOOL fsuccess;
HANDLE hcom;
DCB dcb;


int initcom1(void)
{
	hcom = CreateFile("\\com1",
		GENERIC_READ | GENERIC_WRITE,
		0,     //EXCLUSIVE ACCESS
		NULL, //no security attributes
		OPEN_EXISTING,
		FILE_ATTRIBUTE_NORMAL,
		NULL);
	if (hcom == INVALID_HANDLE_VALUE) {
		printf("createfile failed %d\n",GetLastError());
		return(1);
	}
	fsuccess=GetCommState(hcom,&dcb);
	if(!fsuccess){
		printf("getcommstate failed %d\n",GetLastError());
		return(2);
	}
	dcb.DCBlength = sizeof(DCB);
	dcb.BaudRate=9600;
	dcb.ByteSize=8;
	dcb.Parity=NOPARITY;
	dcb.StopBits=ONESTOPBIT;
	dcb.fDtrControl=DTR_CONTROL_DISABLE;
	dcb.fRtsControl=RTS_CONTROL_DISABLE;
	
	fsuccess=SetCommState(hcom,&dcb);
	if(!fsuccess)
		{
		printf("setcommstate failed %d\n",GetLastError());
		return(3);
		}
	return(0);
}

void outcom1()
{

	DWORD dwBytesWritten;
	DWORD dwBytesToWrite;
	char buf[]="set 35";

	dwBytesToWrite = strlen(buf);
	fsuccess = WriteFile(hcom, buf, dwBytesToWrite, &dwBytesWritten, NULL);
	if(!fsuccess)
		{
		printf("writefile failed %d\n",GetLastError());
		}
}

int main()
{
	char data = 0x01;
	if (!initcom1()) {
		outcom1();
		printf("siker!");
		}
	else
		printf("valami nem kerek...\n");
	if (hcom)
		CloseHandle(hcom);
	return 0;
}

