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

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

Qt串口通信接收的數據怎么分開傳給不同文本框顯示?

Qt串口通信接收的數據怎么分開傳給不同文本框顯示?

慕勒3428872 2019-04-04 11:07:57
Qt串口通信接收的數據怎么分開傳給不同文本框顯示
查看完整描述

3 回答

?
函數式編程

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

串口只有一條數據線一條地線, 所以數據是以串行方式發送的,所謂串行就是數據按bit位依次發送,如下圖
除了數據本身外一頭一尾加上起始位和停止位(通知接收端表示數據的開始和結束), 有時還有校驗位(發送數據的奇偶校驗碼), 取決于串口的工作方式.
比如你在串口助手上發送字符串abc, 實際串口發送是發送字母a,再發送字母b,c等
再詳細一點,字母a,二進制數表示是1100001, 發送它的流程是:
1)發送停止位
2)依次發送 1 0 0 0 0 1 1 (低位在前)
3)發送校驗位
4)發送停止位
5)空閑
你就隨便在哪個類里加個靜態變量,比如放在窗體里,假定窗體名叫 form1,那就是
public static boolean showflag=true;
然后在接收事件中要顯示數據之前判斷
if(form1.showflag)
{
//開始顯示數據
}
然后在那個暫停按鈕的click事件里寫(假定這個按鈕叫button1,初始的text為暫停)
form1.showflag=!form1.showflag;
if(form1.showflag) button1.Text="暫停";
else button1.Text="顯示";



查看完整回答
反對 回復 2019-04-15
?
qq_遁去的一_1

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

public static boolean showflag=true;

然后在接收事件中要顯示數據之前判斷

if(form1.showflag)
{
//開始顯示數據
}


然后在那個暫停按鈕的click事件里寫(假定這個按鈕叫button1,初始的text為暫停)

form1.showflag=!form1.showflag;
if(form1.showflag) button1.Text="暫停";
else button1.Text="顯示";


查看完整回答
反對 回復 2019-04-15
?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

把接收的數據放在list或其它什么集合中,一個線程讀取數據集合,顯示接收到的數據,暫停的話,只要控制顯示部分就可以了,這樣就不影響接收了

查看完整回答
反對 回復 2019-04-15
  • 3 回答
  • 0 關注
  • 2430 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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