亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大俠們麻煩幫忙看一下代碼,求指教~~~

大俠們麻煩幫忙看一下代碼,求指教~~~

桃花長相依 2018-12-06 13:22:37
public partial class Form1 : Form { SerialPort serialport1 = new SerialPort(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { serialport1.PortName = "COM5"; serialport1.BaudRate = 9600; serialport1.Open(); byte[] data = Encoding.Unicode.GetBytes(textBox1.Text); string str = Convert.ToBase64String(data); serialport1.WriteLine(str); MessageBox.Show("數據發送成功!", "系統提示"); } private void button2_Click(object sender, EventArgs e) { byte[] data = Convert.FromBase64String(serialport1.ReadLine()); textBox2.Text = Encoding.Unicode.GetString(data); serialport1.Close(); MessageBox.Show("數據接收成功!", "系統提示"); } ? ? 為什么button1發送之后,點擊button2沒有接受到數據,程序直接就死那了,,求解~
查看完整描述

9 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

serialport1.Flush沒有是否有緩沖問題

另外點擊button2是在發送結束后,端口上的數據也有超時丟棄問題,如果已經丟了,那么讀的時候就阻塞了,程序直接就死那

查看完整回答
反對 回復 2019-01-21
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

那怎么解決數據超時丟棄問題?求指教

查看完整回答
反對 回復 2019-01-21
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

@Philomena: 設置serialport1.ReadTimeout

查看完整回答
反對 回復 2019-01-21
?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

在?serialport1.WriteLine(str); 之后加上一行代碼試試:

serialport1.Flush();

?

?

查看完整回答
反對 回復 2019-01-21
?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

serialport1沒有Flush這個屬性
查看完整回答
反對 回復 2019-01-21
?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

錯誤 1 “System.IO.Ports.SerialPort”并不包含“Flush”的定義

查看完整回答
反對 回復 2019-01-21
?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

加的這句serialport1.BaseStream.Flush();不過還是不行,程序還是在接收數據的時候會直接死掉

查看完整回答
反對 回復 2019-01-21
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

@Philomena: 應該在事件中接收,參考文章:

C# SERIALPORT異步讀取總結

C# SerialPort運行方式

查看完整回答
反對 回復 2019-01-21
  • 9 回答
  • 0 關注
  • 354 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號