欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)串口通訊中SBUF接收發(fā)送的數(shù)據(jù)是怎樣的? [打印本頁(yè)]

作者: a372242775    時(shí)間: 2023-6-5 20:31
標(biāo)題: 單片機(jī)串口通訊中SBUF接收發(fā)送的數(shù)據(jù)是怎樣的?
新手求助一下各位大神
想問(wèn)一問(wèn)串口通訊中SBUF接收發(fā)送的數(shù)據(jù)是怎樣形式的 就好像我在電腦上輸入數(shù)字“1”, SBUF里接收的是什么類型的數(shù)據(jù)
接收到這個(gè)數(shù)據(jù)能用來(lái)直接使用嗎 就好像下圖一樣 得到的數(shù)據(jù)好像和我想要的有出入。。。



作者: csmyldl    時(shí)間: 2023-6-6 00:43
電腦里輸入1 ,如果是HEX數(shù)據(jù)模式發(fā)送,接收的是0x01,可以直接使用,如果是文本模式發(fā)送,接收的是0x31,需要減去0x30才可以直接使用
作者: xuyaqi    時(shí)間: 2023-6-6 10:48
SBUF里接收的數(shù)據(jù)是二進(jìn)制8位,是什么類型,由收發(fā)雙方協(xié)議,可以是ASCII字符,也可以是無(wú)符號(hào)整數(shù)或其他什么。
作者: a372242775    時(shí)間: 2023-6-6 10:54
csmyldl 發(fā)表于 2023-6-6 00:43
電腦里輸入1 ,如果是HEX數(shù)據(jù)模式發(fā)送,接收的是0x01,可以直接使用,如果是文本模式發(fā)送,接收的是0x31,需 ...

感謝 學(xué)習(xí)了 確實(shí)是這樣的 還有一個(gè)問(wèn)題就是 串口中文本模式怎么輸入‘10’兩位甚至3位的數(shù)呢,像沒(méi)設(shè)置的輸入'10' 返回的都是亂碼
作者: yzwzfyz    時(shí)間: 2023-6-6 15:38
你缺的知識(shí)太多。
1、先看二進(jìn)制數(shù),了解一個(gè)字節(jié)。
2、再看數(shù)字的串行表達(dá)方式。
3、了解串行協(xié)議
4、了解數(shù)據(jù)格式:BIN、HEX、ASCII。
作者: 5t511    時(shí)間: 2023-6-6 15:56
SBUF 是串行數(shù)據(jù)緩沖器的全稱。在串口通訊中,當(dāng) CPU 向 SBUF 寫(xiě)入數(shù)據(jù)時(shí),99H 表示發(fā)送 SBUF;當(dāng) CPU 從 SBUF 讀出數(shù)據(jù)時(shí),99H 表示接收 SBUF 1。SBUF 讀出的數(shù)據(jù)類型是 unsigned char,取值范圍是 0-255(16 進(jìn)制 0x00 - 0xff)2。  如果你在電腦上輸入數(shù)字“1”,單片機(jī)實(shí)際接收到的數(shù)據(jù)是 0x31(1 對(duì)應(yīng)的 ASCII 碼)2。你可以根據(jù)實(shí)際情況來(lái)決定是否直接使用接收到的數(shù)據(jù)。
作者: 5t511    時(shí)間: 2023-6-6 15:56
SBUF 是串行數(shù)據(jù)緩沖器的全稱。在串口通訊中,當(dāng) CPU 向 SBUF 寫(xiě)入數(shù)據(jù)時(shí),99H 表示發(fā)送 SBUF;當(dāng) CPU 從 SBUF 讀出數(shù)據(jù)時(shí),99H 表示接收 SBUF 1。SBUF 讀出的數(shù)據(jù)類型是 unsigned char,取值范圍是 0-255(16 進(jìn)制 0x00 - 0xff)2。

如果你在電腦上輸入數(shù)字“1”,單片機(jī)實(shí)際接收到的數(shù)據(jù)是 0x31(1 對(duì)應(yīng)的 ASCII 碼)2。你可以根據(jù)實(shí)際情況來(lái)決定是否直接使用接收到的數(shù)據(jù)。
作者: a372242775    時(shí)間: 2023-6-6 16:32
5t511 發(fā)表于 2023-6-6 15:56
SBUF 是串行數(shù)據(jù)緩沖器的全稱。在串口通訊中,當(dāng) CPU 向 SBUF 寫(xiě)入數(shù)據(jù)時(shí),99H 表示發(fā)送 SBUF;當(dāng) CPU 從 S ...

謝謝你的解答 你說(shuō)的這些已經(jīng)去了解過(guò)了 也解決了我的問(wèn)題 就是還有個(gè)問(wèn)題能幫忙解答一下嗎
就是我的程序設(shè)置只能單字節(jié)的輸入和讀取,
如果我輸入“10”兩個(gè)字節(jié)的數(shù)據(jù)就會(huì)亂碼,
然后我自己去了解了多字節(jié)的串口收發(fā),大概就是設(shè)置一個(gè)數(shù)組,數(shù)組可以接收N個(gè)數(shù)據(jù),
在串口中斷時(shí),數(shù)據(jù)存入數(shù)組,當(dāng)數(shù)組達(dá)到N時(shí),在根據(jù)主函數(shù)來(lái)發(fā)送,數(shù)組清空,這樣的循環(huán)來(lái)做
但是程序一直不能收發(fā)

作者: li64331218    時(shí)間: 2023-6-6 16:41
就是數(shù)據(jù)類型定義的問(wèn)題。搞清楚就好了





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1