Hey there, I'm fairly new to programming but have been tasked with writing a Ymodem send program to send some data that I parsed out to hardware. So far I have parsed data into a char array, and then opened up a serial port. I just don't know where to begin in writing a Ymodem send program (the receiving end was written by someone else). Here is my code for opening the serial port, now I am stuck in implementing the actual Ymodem protocol. I have searched for code online but most of it makes use of extra libraries that I don't have. I am currently writing this in Visual C++ . Any help would be greatly appreciated, Thanks! Code for Serial Port: " Code: #include "stdafx.h" #include "windows.h" #include "string.h" #include "stdio.h" HANDLE hComPort; BOOL SetCommDefaults(HANDLE hSerial); int main() { hComPort = CreateFile("\\\\.\\COM24", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); if (hComPort == INVALID_HANDLE_VALUE){ return FALSE; SetCommDefaults(hComPort); printf("E012_Failed to open port"); }else{ SetCommDefaults(hComPort); DWORD dwBytesRead =0; DWORD dwBytesWritten =1; char buf[50]; sprintf(buf,"I am connected to hyperterminal\n"); WriteFile(hComPort, buf, strlen(buf), &dwBytesWritten,NULL); } CloseHandle(hComPort); return 0; } BOOL SetCommDefaults(HANDLE hComPort) { DCB dcb; dcb.BaudRate = 115200; dcb.ByteSize = 8; dcb.Parity = 0; dcb.StopBits = ONESTOPBIT; dcb.fDtrControl = DTR_CONTROL_DISABLE; dcb.fDtrControl = RTS_CONTROL_DISABLE; if(!SetCommState(hComPort, &dcb)) return FALSE; return TRUE; } "