# SerialPort **Repository Path**: xia_xiang_quan/SerialPort ## Basic Information - **Project Name**: SerialPort - **Description**: :large_orange_diamond: C++ Library for Serial Communication with Arduino - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-03-20 - **Last Updated**: 2022-02-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SerialPort ## C++ Library for Serial Communication with following criteria * Plain C++ Compatible * Windows Supported * Include and Run Type Library * supports softwareserial * supports serial event * fixed minor bugs ## Documentation [Here is a blog post about the library](https://medium.com/@ManashMandal/serial-communication-with-an-arduino-using-c-on-windows-d08710186498#.f94efw74b) ### Initialization ```cpp #include "SerialPort.h" #include char* portName = "\\\\.\\COM20"; //Declare a global object SerialPort *arduino; int main(void) { arduino = new SerialPort(portName); std::cout << "is connected: " << arduino->isConnected() << std::endl; } ``` ### Sending Data ```cpp #define DATA_LENGTH 255 #include "SerialPort.h" #include char* portName = "\\\\.\\COM20"; //Declare a global object SerialPort *arduino; //Here '\n' is a delimiter char *sendString = "Hello World\n"; int main(void) { arduino = new SerialPort(portName); if (arduino->isConnected()){ bool hasWritten = arduino->writeSerialPort(sendString, DATA_LENGTH); if (hasWritten) std::cout << "Data Written Successfully" << std::endl; else std::cout << "Data was not written" << std::endl; } } ``` ### Receiving Data ```cpp #define DATA_LENGTH 255 #include "SerialPort.h" #include char* portName = "\\\\.\\COM20"; //Declare a global object SerialPort *arduino; //Here '\n' is a delimiter char receivedString[DATA_LENGTH]; int main(void) { arduino = new SerialPort(portName); if (arduino->isConnected()){ int hasRead = arduino->readSerialPort(receivedString, DATA_LENGTH); if (hasRead) printf("%s", receivedString); else printf("Error occured reading data"); } } ```