{"id":7941,"date":"2024-03-14T07:21:44","date_gmt":"2024-03-14T07:21:44","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/"},"modified":"2025-08-02T22:41:35","modified_gmt":"2025-08-02T22:41:35","slug":"how-to-implement-data-transmission-and-reception-in-c-serial-communication","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/","title":{"rendered":"C# Serial Port Communication Guide"},"content":{"rendered":"<p>In C#, you can use the SerialPort class under the System.IO.Ports namespace to implement serial communication for sending and receiving data. Below is a simple example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">using<\/span> System;\r\n<span class=\"hljs-keyword\">using<\/span> System.IO.Ports;\r\n\r\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Program<\/span>\r\n{\r\n    <span class=\"hljs-keyword\">static<\/span> SerialPort _serialPort;\r\n    \r\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">Main<\/span>()<\/span>\r\n    {\r\n        _serialPort = <span class=\"hljs-keyword\">new<\/span> SerialPort(<span class=\"hljs-string\">\"COM1\"<\/span>, <span class=\"hljs-number\">9600<\/span>); <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u4e32\u53e3\u53f7\u548c\u6ce2\u7279\u7387<\/span>\r\n        _serialPort.Open(); <span class=\"hljs-comment\">\/\/ \u6253\u5f00\u4e32\u53e3<\/span>\r\n        \r\n        _serialPort.DataReceived += <span class=\"hljs-keyword\">new<\/span> SerialDataReceivedEventHandler(DataReceivedHandler); <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u6570\u636e\u63a5\u6536\u4e8b\u4ef6\u5904\u7406\u51fd\u6570<\/span>\r\n        \r\n        <span class=\"hljs-built_in\">string<\/span> message = <span class=\"hljs-string\">\"Hello, World!\"<\/span>;\r\n        _serialPort.WriteLine(message); <span class=\"hljs-comment\">\/\/ \u53d1\u9001\u6570\u636e<\/span>\r\n        \r\n        Console.ReadLine(); <span class=\"hljs-comment\">\/\/ \u7b49\u5f85\u7528\u6237\u8f93\u5165<\/span>\r\n    }\r\n    \r\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">DataReceivedHandler<\/span>(<span class=\"hljs-params\"><span class=\"hljs-built_in\">object<\/span> sender, SerialDataReceivedEventArgs e<\/span>)<\/span>\r\n    {\r\n        SerialPort sp = (SerialPort)sender;\r\n        <span class=\"hljs-built_in\">string<\/span> data = sp.ReadLine(); <span class=\"hljs-comment\">\/\/ \u8bfb\u53d6\u63a5\u6536\u5230\u7684\u6570\u636e<\/span>\r\n        Console.WriteLine(<span class=\"hljs-string\">\"Received data: \"<\/span> + data);\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Firstly, a SerialPort object is created in the above code with the specified port number and baud rate. The port is then opened, and a data receive event handling function is set. In the Main function, data is sent using the WriteLine method, and data is received by reading data using the ReadLine method in the DataReceivedHandler function. Finally, the received data is printed using Console.WriteLine.<\/p>\n<p>It is important to note that after using the SerialPort object, you should promptly close the serial port. You can close the port connection by calling _serialPort.Close() when the program ends.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C#, you can use the SerialPort class under the System.IO.Ports namespace to implement serial communication for sending and receiving data. Below is a simple example code: using System; using System.IO.Ports; class Program { static SerialPort _serialPort; static void Main() { _serialPort = new SerialPort(&#8220;COM1&#8221;, 9600); \/\/ \u8bbe\u7f6e\u4e32\u53e3\u53f7\u548c\u6ce2\u7279\u7387 _serialPort.Open(); \/\/ \u6253\u5f00\u4e32\u53e3 _serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler); [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[274,2343,10394,10396,10397],"class_list":["post-7941","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c","tag-data-transmission","tag-serial-port","tag-serialport-class","tag-system-io-ports"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>C# Serial Port Communication Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Master data transmission\/reception in C# using SerialPort class. Practical code examples and implementation tips.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"C# Serial Port Communication Guide\" \/>\n<meta property=\"og:description\" content=\"Master data transmission\/reception in C# using SerialPort class. Practical code examples and implementation tips.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-14T07:21:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-02T22:41:35+00:00\" \/>\n<meta name=\"author\" content=\"Noah Thompson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Noah Thompson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\"},\"author\":{\"name\":\"Noah Thompson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\"},\"headline\":\"C# Serial Port Communication Guide\",\"datePublished\":\"2024-03-14T07:21:44+00:00\",\"dateModified\":\"2025-08-02T22:41:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\"},\"wordCount\":133,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"c#\",\"Data Transmission\",\"Serial Port\",\"SerialPort class\",\"System.IO.Ports\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\",\"name\":\"C# Serial Port Communication Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-14T07:21:44+00:00\",\"dateModified\":\"2025-08-02T22:41:35+00:00\",\"description\":\"Master data transmission\/reception in C# using SerialPort class. Practical code examples and implementation tips.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"C# Serial Port Communication Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a\",\"name\":\"Noah Thompson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g\",\"caption\":\"Noah Thompson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"C# Serial Port Communication Guide - Blog - Silicon Cloud","description":"Master data transmission\/reception in C# using SerialPort class. Practical code examples and implementation tips.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/","og_locale":"en_US","og_type":"article","og_title":"C# Serial Port Communication Guide","og_description":"Master data transmission\/reception in C# using SerialPort class. Practical code examples and implementation tips.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-14T07:21:44+00:00","article_modified_time":"2025-08-02T22:41:35+00:00","author":"Noah Thompson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Noah Thompson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/"},"author":{"name":"Noah Thompson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a"},"headline":"C# Serial Port Communication Guide","datePublished":"2024-03-14T07:21:44+00:00","dateModified":"2025-08-02T22:41:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/"},"wordCount":133,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["c#","Data Transmission","Serial Port","SerialPort class","System.IO.Ports"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/","name":"C# Serial Port Communication Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-14T07:21:44+00:00","dateModified":"2025-08-02T22:41:35+00:00","description":"Master data transmission\/reception in C# using SerialPort class. Practical code examples and implementation tips.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-implement-data-transmission-and-reception-in-c-serial-communication\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"C# Serial Port Communication Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/2e83cc6ab9f60d36921c2d0f9f280f4a","name":"Noah Thompson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/350e537e1530ede2762ee0237e877d6693f4f7163ab4f303202cc9a6b27b6cb4?s=96&d=mm&r=g","caption":"Noah Thompson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/noahthompson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/7941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=7941"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/7941\/revisions"}],"predecessor-version":[{"id":152737,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/7941\/revisions\/152737"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=7941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=7941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=7941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}