C#简单的串口通信程序 注释详细适合学习
部分源码:
try { serialPort1.Close(); //關閉串口 button1.Enabled = true; //打卡串口按鈕可用 button2.Enabled = false; //關閉串口按鈕不可用 } catch //一般情況下關閉串口不會出現錯誤,所有不需要加處理程序 { MessageBox.Show("串口关闭错误", "错误"); } } private void button3_Click(object sender, EventArgs e) { byte[] Data = new byte[1]; //數據一個字節就夠用了 if (serialPort1.IsOpen) //判斷串口是否打開,如果打開執行下一步操作 { if (textBox2.Text != "") { if (!radioButton1.Checked) //如果發送模式是字符模式 { try { serialPort1.WriteLine(textBox2.Text); //寫數據 } catch (Exception err) { MessageBox.Show("串口寫入錯誤", "錯誤"); serialPort1.Close(); button1.Enabled = true; //打卡串口按鈕可用 button2.Enabled = false; //關閉串口按鈕不可用 } } else { // 字符串转换为二进制数据: // byte[] bytes = new byte[str.Length / 2]; // for (int i = 0; i < str.Length; i += 2) // { bytes[i / 2] = (byte)Convert.ToByte(str.Substring(i, 2), 16);} try { for (int i = 0; i < (textBox2.Text.Length - textBox2.Text.Length % 2) / 2; i++) //取余3運算作用防止用戶輸入字符 { Data[0] = Convert.ToByte(textBox2.Text.Substring(i * 2, 2), 16); serialPort1.Write(Data, 0, 1); //循環發送(如果輸入字符為0A0BB,則只發送0A,0B) } if (textBox2.Text.Length % 2 != 0) //剩下一位單獨處理 { Data[0] = Convert.ToByte(textBox2.Text.Substring(textBox2.Text.Length - 1, 1), 16); //單獨發送B(0B) serialPort1.Write(Data, 0, 1); //發送 } } catch (Exception err) { MessageBox.Show("串口寫入錯誤", "錯誤"); serialPort1.Close(); button1.Enabled = true; //打卡串口按鈕可用 button2.Enabled = false; //關閉串口按鈕不可用 } /* for (int i = 0; i < (textBox2.Text.Length - textBox2.Text.Length % 2) / 2; i++) //取余3運算作用防止用戶輸入字符 { Data[0] = Convert.ToByte(textBox2.Text.Substring(i * 2, 2), 16); serialPort1.Write(Data, 0, 1); //循環發送(如果輸入字符為0A0BB,則只發送0A,0B) } if (textBox2.Text.Length % 2 != 0) //剩下一位單獨處理 { Data[0] = Convert.ToByte(textBox2.Text.Substring(textBox2.Text.Length - 1, 1), 16); //單獨發送B(0B) serialPort1.Write(Data, 0, 1); //發送 } */ 完整源码详见附件
源码下载:
1,本站所有资源来源于用户上传和网络搜集,如有侵权请邮件联系站长删除。
2,分享目的仅供大家个人的学习用途,请不要用于商业用途。
3,如果你也有好的源码或者教程,可以投稿到本站,采纳后有积分奖励。
4,本站提供的各类资源均不保证其可用性及完整性,也没有任何技术服务。
5,如有链接无法下载、失效、过期,请联系管理员处理。
6,本站资源部分需要积分只是赞助,仅用于本站服务器和日常运营所需,不提供任何技术支持。
快捷联系方式 Email:admin@lzbk.com QQ:361113272
蓝知博库 » C#简单的串口通信程序 注释详细适合学习
蓝知博库 » C#简单的串口通信程序 注释详细适合学习