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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

單片機串口通訊中SBUF接收發送的數據是怎樣的?

查看數: 2475 | 評論數: 8 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2023-6-5 20:31

正文摘要:

新手求助一下各位大神 想問一問串口通訊中SBUF接收發送的數據是怎樣形式的 就好像我在電腦上輸入數字“1”, SBUF里接收的是什么類型的數據 接收到這個數據能用來直接使用嗎 就好像下圖一樣 得到的數據好像和我想 ...

回復

ID:291668 發表于 2023-6-6 16:41
就是數據類型定義的問題。搞清楚就好了
ID:1081798 發表于 2023-6-6 16:32
5t511 發表于 2023-6-6 15:56
SBUF 是串行數據緩沖器的全稱。在串口通訊中,當 CPU 向 SBUF 寫入數據時,99H 表示發送 SBUF;當 CPU 從 S ...

謝謝你的解答 你說的這些已經去了解過了 也解決了我的問題 就是還有個問題能幫忙解答一下嗎
就是我的程序設置只能單字節的輸入和讀取,
如果我輸入“10”兩個字節的數據就會亂碼,
然后我自己去了解了多字節的串口收發,大概就是設置一個數組,數組可以接收N個數據,
在串口中斷時,數據存入數組,當數組達到N時,在根據主函數來發送,數組清空,這樣的循環來做
但是程序一直不能收發
ID:1082368 發表于 2023-6-6 15:56
SBUF 是串行數據緩沖器的全稱。在串口通訊中,當 CPU 向 SBUF 寫入數據時,99H 表示發送 SBUF;當 CPU 從 SBUF 讀出數據時,99H 表示接收 SBUF 1。SBUF 讀出的數據類型是 unsigned char,取值范圍是 0-255(16 進制 0x00 - 0xff)2。

如果你在電腦上輸入數字“1”,單片機實際接收到的數據是 0x31(1 對應的 ASCII 碼)2。你可以根據實際情況來決定是否直接使用接收到的數據。
ID:1082368 發表于 2023-6-6 15:56
SBUF 是串行數據緩沖器的全稱。在串口通訊中,當 CPU 向 SBUF 寫入數據時,99H 表示發送 SBUF;當 CPU 從 SBUF 讀出數據時,99H 表示接收 SBUF 1。SBUF 讀出的數據類型是 unsigned char,取值范圍是 0-255(16 進制 0x00 - 0xff)2。  如果你在電腦上輸入數字“1”,單片機實際接收到的數據是 0x31(1 對應的 ASCII 碼)2。你可以根據實際情況來決定是否直接使用接收到的數據。
ID:123289 發表于 2023-6-6 15:38
你缺的知識太多。
1、先看二進制數,了解一個字節。
2、再看數字的串行表達方式。
3、了解串行協議
4、了解數據格式:BIN、HEX、ASCII。
ID:1081798 發表于 2023-6-6 10:54
csmyldl 發表于 2023-6-6 00:43
電腦里輸入1 ,如果是HEX數據模式發送,接收的是0x01,可以直接使用,如果是文本模式發送,接收的是0x31,需 ...

感謝 學習了 確實是這樣的 還有一個問題就是 串口中文本模式怎么輸入‘10’兩位甚至3位的數呢,像沒設置的輸入'10' 返回的都是亂碼
ID:94031 發表于 2023-6-6 10:48
SBUF里接收的數據是二進制8位,是什么類型,由收發雙方協議,可以是ASCII字符,也可以是無符號整數或其他什么。
ID:235200 發表于 2023-6-6 00:43
電腦里輸入1 ,如果是HEX數據模式發送,接收的是0x01,可以直接使用,如果是文本模式發送,接收的是0x31,需要減去0x30才可以直接使用

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表