找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6492|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

怎樣用一個(gè)SBUF傳輸兩個(gè)數(shù)據(jù)到上位機(jī),比如一個(gè)實(shí)時(shí)溫度,一個(gè)是設(shè)定溫度值

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:187588 發(fā)表于 2017-4-14 14:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
實(shí)時(shí)溫度傳到上位機(jī)要實(shí)現(xiàn)曲線表示   設(shè)定溫度就是一根直線
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:123289 發(fā)表于 2017-4-15 01:25 | 只看該作者
本帖最后由 yzwzfyz 于 2017-4-15 22:26 編輯

對(duì)于SBUF來說它只是收或發(fā)一個(gè)字節(jié)的數(shù)字:0-255,你寫入一個(gè)它就發(fā)一個(gè),管你是不是溫度,它全然不介意,都認(rèn)為是一個(gè)0-255之間的數(shù)據(jù)。
所以你需給這此數(shù)據(jù)作出規(guī)定,比如:以AAH,65H開頭,以后是兩個(gè)字節(jié)表示溫度,再以后是……,最后以26H作為結(jié)束。這就叫協(xié)議!
你需要制定一個(gè)協(xié)議,規(guī)則一切由你所需要表達(dá)的數(shù)據(jù)形式及含意而定。收、發(fā)端都按照此協(xié)議編碼、解碼,就可以了。
當(dāng)若干個(gè)溫度值,發(fā)生時(shí)間,設(shè)定值,被收存之后,就可以畫出曲線了。如EXCEL一樣作出曲線。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:159015 發(fā)表于 2017-4-15 10:14 | 只看該作者
如上樓所述,首先自己制定一個(gè)協(xié)議,分別代表實(shí)時(shí)溫度和設(shè)定溫度,實(shí)時(shí)溫度與設(shè)定溫度可以交替發(fā)送注意延時(shí),上位機(jī)進(jìn)行接收判斷
回復(fù)

使用道具 舉報(bào)

地板
ID:47286 發(fā)表于 2017-4-15 10:44 | 只看該作者
定義變量時(shí)定義一個(gè)數(shù)組

uchar data[2]={0}; //定義數(shù)組 位數(shù)2 第一位放實(shí)時(shí)溫度 第二位放設(shè)定溫度

程序中在采集后分別把兩個(gè)值賦值給數(shù)組

data[0]=GetADC(實(shí)時(shí)溫度);  //把AD采集的實(shí)時(shí)溫度賦值給數(shù)組data位0
data[1]=設(shè)定值;                  //把設(shè)定溫度賦值給數(shù)組data位1

發(fā)送函數(shù)里 順序發(fā)出去

Send1Byte(data[0]); //發(fā)送 實(shí)時(shí)溫度
Send1Byte(data[1]); //發(fā)送 設(shè)定溫度

上位機(jī)的緩沖區(qū)收到2位 就解釋第1位 給實(shí)時(shí)溫度位置顯示 第2位給設(shè)定溫度顯示 然后清除緩沖區(qū) 準(zhǔn)備下次接收

當(dāng)然 有樓上說的協(xié)議會(huì)更好
回復(fù)

使用道具 舉報(bào)

5#
ID:151348 發(fā)表于 2017-4-15 11:01 | 只看該作者
舉個(gè)例子,定義一個(gè)數(shù)組dat[8],前4個(gè)元素分別儲(chǔ)存實(shí)時(shí)溫度的百位、十位、個(gè)位、小數(shù)位,后4個(gè)元素分別儲(chǔ)存設(shè)定溫度的百位、十位、個(gè)位、小數(shù)位,
unsigned char code digit[ ]={"0123456789"}; //定義字符數(shù)組顯示數(shù)字
void Send()
{
for(i=0;i<8;i++)
SBUF = diget[dat[i]];
while(!TI);
      TI = 0;
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表