1.jpg (43.13 KB)
下載附件
2020-12-1 16:08 上傳
部分源碼:- try
- {
- serialPort1.Close(); //關(guān)閉串口
- button1.Enabled = true; //打卡串口按鈕可用
- button2.Enabled = false; //關(guān)閉串口按鈕不可用
- }
- catch //一般情況下關(guān)閉串口不會出現(xiàn)錯誤,所有不需要加處理程序
- {
- MessageBox.Show("串口關(guān)閉錯誤", "錯誤");
- }
- }
- private void button3_Click(object sender, EventArgs e)
- {
- byte[] Data = new byte[1]; //數(shù)據(jù)一個字節(jié)就夠用了
- if (serialPort1.IsOpen) //判斷串口是否打開,如果打開執(zhí)行下一步操作
- {
- if (textBox2.Text != "")
- {
- if (!radioButton1.Checked) //如果發(fā)送模式是字符模式
- {
- try
- {
- serialPort1.WriteLine(textBox2.Text); //寫數(shù)據(jù)
- }
- catch (Exception err)
- {
- MessageBox.Show("串口寫入錯誤", "錯誤");
- serialPort1.Close();
- button1.Enabled = true; //打卡串口按鈕可用
- button2.Enabled = false; //關(guān)閉串口按鈕不可用
- }
- }
- else
- {
- // 字符串轉(zhuǎn)換為二進制數(shù)據(jù):
- // 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); //循環(huán)發(fā)送(如果輸入字符為0A0BB,則只發(fā)送0A,0B)
- }
- if (textBox2.Text.Length % 2 != 0) //剩下一位單獨處理
- {
- Data[0] = Convert.ToByte(textBox2.Text.Substring(textBox2.Text.Length - 1, 1), 16); //單獨發(fā)送B(0B)
- serialPort1.Write(Data, 0, 1); //發(fā)送
- }
- }
- catch (Exception err)
- {
- MessageBox.Show("串口寫入錯誤", "錯誤");
- serialPort1.Close();
- button1.Enabled = true; //打卡串口按鈕可用
- button2.Enabled = false; //關(guān)閉串口按鈕不可用
- }
- /* 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); //循環(huán)發(fā)送(如果輸入字符為0A0BB,則只發(fā)送0A,0B)
- }
- if (textBox2.Text.Length % 2 != 0) //剩下一位單獨處理
- {
- Data[0] = Convert.ToByte(textBox2.Text.Substring(textBox2.Text.Length - 1, 1), 16); //單獨發(fā)送B(0B)
- serialPort1.Write(Data, 0, 1); //發(fā)送
- }
- */
- 完整源碼詳見附件
復(fù)制代碼
c#串口通信源碼.zip
(60.17 KB, 售價: 1 E幣)
2020-12-1 16:08 上傳
點擊文件名下載附件
售價: 1 E幣 [記錄]
[ 購買]
【必讀】版權(quán)免責(zé)聲明
1、本主題所有言論和內(nèi)容純屬會員個人意見,與本論壇立場無關(guān)。2、本站對所發(fā)內(nèi)容真實性、客觀性、可用性不做任何保證也不負任何責(zé)任,網(wǎng)友之間僅出于學(xué)習(xí)目的進行交流。3、對提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請勿將該數(shù)字內(nèi)容進行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學(xué)習(xí)所提供,使用后發(fā)生的一切問題與本站無關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來,僅供學(xué)習(xí)用途使用,請務(wù)必下載后兩小時內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請及時聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|