久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4835|回復: 12
打印 上一主題 下一主題
收起左側

關于51單片機接收十六進制串口發(fā)送十進制程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:964131 發(fā)表于 2021-9-5 08:35 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
做一個粉塵傳感器,但是粉塵傳感器接收的是十六進制的24位的數(shù)據,想知道如何讓單片機只讀取24位中第 14位的數(shù)據,圖片中畫紅圈圈的09,讓單片機只讀取09,并轉換成10進制 以串口的形式發(fā)送,請問程序怎么寫,謝謝!



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:624769 發(fā)表于 2021-9-5 18:33 | 只看該作者
一個雙16進制  0xff  是8位數(shù)據,一個字節(jié)。
你說的24位數(shù)據, 到底是 3個字節(jié)數(shù)據,還是24個字節(jié)?
你要取得第14位數(shù)據,到底是第14個字節(jié)還是第2字節(jié)的第5位的 0或1?

然后,你要讓別人告訴你如何只讀取 某個東西 至少要把 你用來讀取的函數(shù)拿出來看吧? 如果是直接在Eeprom 的 直接一個 MOVC 不就出來了?如果是在 Flash 里 可能需要 SPI 可能需要 IIC 都不好說啊。空對空跟你說,都讀出來,取第14?
回復

使用道具 舉報

板凳
ID:748788 發(fā)表于 2021-9-5 22:08 | 只看該作者
將24個數(shù)放進一個數(shù)組,然后想取哪個數(shù)隨你
回復

使用道具 舉報

地板
ID:960726 發(fā)表于 2021-9-5 22:18 | 只看該作者
最好是得到傳感器的資料,協(xié)議解析好,發(fā)出的十進制數(shù)也要處理,方便應用。24個HEX,取第14個HEX,轉換成10進制發(fā)。字面的處理,并不難:1、合法的24個字符的幀判斷,取出第14個;2、計算這個HEX轉換成十進制數(shù)的三位數(shù)(百位、十位、個位);3、連續(xù)發(fā)出這三個字符,建議額外增加字符信息,不然接收方也是暈的
回復

使用道具 舉報

5#
ID:883242 發(fā)表于 2021-9-5 23:36 | 只看該作者
你的數(shù)據到底是什么,你想發(fā)送的十進制數(shù)據又是什么?
假設原始數(shù)據是00 09 00,你想發(fā)送“1”還是發(fā)送2304?
回復

使用道具 舉報

6#
ID:964131 發(fā)表于 2021-9-6 10:45 來自手機 | 只看該作者
wwh2382 發(fā)表于 2021-9-5 22:08
將24個數(shù)放進一個數(shù)組,然后想取哪個數(shù)隨你

24個組是數(shù) 都是隨機變換不是固定的
回復

使用道具 舉報

7#
ID:964131 發(fā)表于 2021-9-6 10:48 來自手機 | 只看該作者
Hephaestus 發(fā)表于 2021-9-5 23:36
你的數(shù)據到底是什么,你想發(fā)送的十進制數(shù)據又是什么?
假設原始數(shù)據是00 09 00,你想發(fā)送“1”還是發(fā)送230 ...

傳感器發(fā)送24組十六進制的數(shù)據 但是要轉化成十進制,才能得出真實的數(shù)據,但是我只要第14組的數(shù)據,其他組的數(shù)據不需要,將14組的數(shù)據轉化為十進制 在通過串口發(fā)送給電腦
回復

使用道具 舉報

8#
ID:624769 發(fā)表于 2021-9-6 16:10 | 只看該作者
yyou588 發(fā)表于 2021-9-6 10:48
傳感器發(fā)送24組十六進制的數(shù)據 但是要轉化成十進制,才能得出真實的數(shù)據,但是我只要第14組的數(shù)據,其他 ...

你的描述中,有很多不明白的地方。
比如,你說的10進制是什么? 09 可以認為是 16進制0x09 也可以認為是10進制 9,他是符合 BCD(十進制)標準的一種格式。
在計算機領域中(包含單片機),10進制的表示有多種,常用的有 8421碼(即BCD碼)和 余三碼 以及 2421碼,另外還有不太常用的,5211碼,7321碼。 同時BCD碼 還分全碼和半碼。
所以,所謂要10進制其實就是轉碼,那么,問題是你要轉哪個碼?

然后,你說將第14組數(shù)據轉為10進制,那么 第14組數(shù)據你會拿了么?你能把 第14組數(shù)據 保存到 變量 Temp 里的話,你前面一大堆描述就不用了。不能得話,你得描述你現(xiàn)在能做到什么程度。你現(xiàn)在的終點,將會是我們給你想辦法的起點。你明白嗎?
回復

使用道具 舉報

9#
ID:964429 發(fā)表于 2021-9-6 18:22 | 只看該作者
這個確實有點讓人摸不著頭腦呀,,哎,,,難過
回復

使用道具 舉報

10#
ID:883242 發(fā)表于 2021-9-6 23:12 | 只看該作者
yyou588 發(fā)表于 2021-9-6 10:48
傳感器發(fā)送24組十六進制的數(shù)據 但是要轉化成十進制,才能得出真實的數(shù)據,但是我只要第14組的數(shù)據,其他 ...

算了吧,你的描述能力太有限,你把24組數(shù)據寫出來,指出第14組數(shù)據是什么,然后想輸出什么樣的結果,都具體的說出來。
回復

使用道具 舉報

11#
ID:964131 發(fā)表于 2021-9-7 11:01 來自手機 | 只看該作者
Hephaestus 發(fā)表于 2021-9-6 23:12
算了吧,你的描述能力太有限,你把24組數(shù)據寫出來,指出第14組數(shù)據是什么,然后想輸出什么樣的結果,都具 ...

這么清楚的描述 還好意思怪別人描述不清楚 我一說別人就懂了
回復

使用道具 舉報

12#
ID:964308 發(fā)表于 2021-9-7 11:12 來自手機 | 只看該作者
用一個for循環(huán)把串口接受到的內容全部存放進字符數(shù)組里,單獨拿出09那個位的,定義一個整形變量強制轉換就好了
回復

使用道具 舉報

13#
ID:213173 發(fā)表于 2021-9-7 11:43 | 只看該作者
粉塵傳感器是根據制造商選定通訊協(xié)議輸出一幀24字節(jié)數(shù)據,樓主只需望要選取第14字節(jié)當做有效數(shù)據。樓主必須編程把一幀24字節(jié)數(shù)據全部完整的接收保存并判斷是否正確。然后才能根據需要選取第14字節(jié)當做有效數(shù)據做后續(xù)處理。單片機只懂二進制,十六進制、十進制都是給人看的。一個字節(jié)數(shù)據范圍是0~255。樓主要根據選取的字節(jié)預判可能在多大范圍變化來確定轉換方式,假設該數(shù)據<100,可以這樣處理:a=0x09/10+'0'; b=0x09%10+'0'; ,用串口發(fā)送a和b,上位機就得到ASCII碼0 9兩個字符。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲激情综合 | 毛片一级网站 | 91极品视频 | 欧美成人精品一区二区男人看 | 成人久久18免费网站 | 久久91av| 中文精品久久 | 国产专区免费 | 黄网站在线播放 | 91黄色片免费看 | 亚洲不卡在线观看 | 亚洲精品一区二区在线观看 | 天天综合久久 | 日韩中文字幕在线观看视频 | 91婷婷韩国欧美一区二区 | 欧美一级免费看 | 久久99精品国产99久久6男男 | 超碰在线人人干 | 亚洲天堂成人在线视频 | av黄色在线观看 | 国产精品国产三级国产aⅴ中文 | 精品一区二区三区中文字幕 | 精品毛片在线观看 | 激情欧美一区二区三区中文字幕 | 操人网站 | 国产精品久久久久久久久久久新郎 | 亚洲一区二区三区免费观看 | 午夜精品久久久久久久星辰影院 | 日本一区二区高清视频 | 黄视频免费 | 欧美日韩中文字幕 | 日日草天天干 | 国产乱码精品一区二区三区五月婷 | 91视视频在线观看入口直接观看 | 午夜视频一区 | 日本成人免费观看 | 91影库 | 亚洲网站在线播放 | 中文字幕一区二区不卡 | 欧美xxxx色视频在线观看免费 | 日韩三级在线 |