當(dāng)前位置:
首頁(yè) >
C#之windows桌面软件第二课:向单片机发信息的串口工具
發(fā)布時(shí)間:2025/6/15
47
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C#之windows桌面软件第二课:向单片机发信息的串口工具
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? ? ? ? 設(shè)計(jì)一個(gè)串口工具向單片機(jī)發(fā)送信息
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace SerialTest {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e)//窗口創(chuàng)建初始化函數(shù){string str;//用來(lái)臨時(shí)存儲(chǔ)i大寫(xiě)的十六進(jìn)制格式字符串for (int i = 0; i < 256; i++)//256個(gè){str = i.ToString("x").ToUpper();//ToString("x")是將數(shù)字轉(zhuǎn)轉(zhuǎn)換為16進(jìn)制字符串,ToUpper是將字符串所有字符大寫(xiě)//comboBox1.Items.Add("0x" + (str.Length == 1 ? "0" + str : str));if (str.Length == 1)str = "0" + str;//如果是一位的(0xA),此時(shí)為了對(duì)齊,在數(shù)據(jù)前加一個(gè)字符“0”(0x0A)comboBox1.Items.Add("0x"+ str);//統(tǒng)一添加"0x"}comboBox1.Text = "0X00";//初始值}private void button1_Click(object sender, EventArgs e)//按鍵單擊事件{string data = comboBox1.Text;//存儲(chǔ)當(dāng)前下拉框的內(nèi)容string convertdata = data.Substring(2, 2);//把字符分開(kāi)byte[] buffer = new byte[1];//數(shù)據(jù)一個(gè)字節(jié)就夠用了buffer[0] = Convert.ToByte(convertdata, 16);//將字符串轉(zhuǎn)化為byte型變量(byte相當(dāng)于單片機(jī)中的unsigned char(0-255))try//防止出錯(cuò){serialPort1.Open();serialPort1.Write(buffer, 0, 1);serialPort1.Close();}catch {//如果出錯(cuò)就執(zhí)行此塊代碼if (serialPort1.IsOpen)serialPort1.Close();//如果是寫(xiě)數(shù)據(jù)時(shí)出錯(cuò),此時(shí)窗口狀態(tài)為開(kāi),就應(yīng)關(guān)閉串口,防止下次不能使用,串口是不能重復(fù)打開(kāi)和關(guān)閉的MessageBox.Show("端口錯(cuò)誤","錯(cuò)誤");}}} }www.DoYoung.net(部分代碼來(lái)至杜洋工作室)
總結(jié)
以上是生活随笔為你收集整理的C#之windows桌面软件第二课:向单片机发信息的串口工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C#之windows桌面软件第一课:倒时
- 下一篇: C#之windows桌面软件第四课:串口