欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)串口的Hex發(fā)送
[打印本頁]
作者:
蓮蓬16
時(shí)間:
2018-10-9 21:50
標(biāo)題:
單片機(jī)串口的Hex發(fā)送
首先,底層的數(shù)據(jù)傳輸都是字節(jié)流,所以不管選擇什么方式,都會(huì)被分解為一個(gè)一個(gè)的字節(jié)。
1、選擇Hex發(fā)送就代表你要發(fā)送的內(nèi)容是純數(shù)字,由程序完成String到Int再到Byte的轉(zhuǎn)化。
所以你應(yīng)該保證每個(gè)你要發(fā)送的數(shù)都是兩位的,如果是7就應(yīng)該寫07,因?yàn)槌绦驎?huì)每?jī)晌幻績(jī)晌坏刈x。如果你選擇了Hex發(fā)送,而輸入的又是字符,比如你寫了ab,那么就會(huì)被程序讀為16進(jìn)制的AB。這就是不同的概念了,無論你選擇什么方式顯示都不能得到原來的ab了。
2、選擇ASCII發(fā)送就代表你要發(fā)送的是字符串,這時(shí)候程序就會(huì)一位一位地讀,比如你寫了1234,在字節(jié)流中傳遞的就是1234對(duì)應(yīng)的ASCII碼,31,32,33,34(十六進(jìn)制的)。比較而言,在Hex發(fā)送模式下,寫了1234,會(huì)被發(fā)送的就是12,34,如果是01020304那就是01,02,03,04。這個(gè)時(shí)候,你寫ab就會(huì)發(fā)送相應(yīng)的ASCII碼61,62,其他字符同理。
到這里,數(shù)據(jù)已經(jīng)發(fā)送出去了,接下來就是顯示的問題。是顯示模式,不是解析,不存在解析。
3、選擇Hex顯示就是把字節(jié)轉(zhuǎn)化為16進(jìn)制整型,你收到的是12,34,就顯示為12,34,你收到31,32,33,34,也顯示為31,32,33,34,如果收到AB呢,那也是AB。
4、選擇ASCII顯示呢,就會(huì)把你接收到的十六進(jìn)制轉(zhuǎn)化為對(duì)應(yīng)的字符,比如你收到了31,就會(huì)顯示為1。這種模式下可能會(huì)出現(xiàn)亂碼,原因就是ASCII碼只從0-7f。如果你在十六進(jìn)制發(fā)送模式下發(fā)送了字符,比如發(fā)送了ab,那你就會(huì)收到AB,這個(gè)并沒有ASCII碼對(duì)應(yīng)的字符。
所以在Hex模式下如果輸入字符,是無論如何接收不到正確的數(shù)據(jù)的,其他方式那就隨意了。重要的是,方式的選擇改變的不是數(shù)據(jù)本身,而是數(shù)據(jù)的表現(xiàn)形式。
說明:數(shù)據(jù)本身還是最原始的字節(jié)流,至于選擇HEX顯示還是ASCII碼顯示,只是不同的形式,改變不了數(shù)據(jù)的本質(zhì)
作者:
outing逆旅
時(shí)間:
2018-10-10 21:34
把我看糊涂了,最基礎(chǔ)的知識(shí)才是最牛逼厲害的。【贊】
作者:
zyyjjww
時(shí)間:
2018-10-11 23:10
樓主有代碼分享嗎?最近在學(xué)習(xí)這個(gè)
作者:
doube08
時(shí)間:
2018-10-12 09:42
鏈接失效了啊
作者:
殤心玨
時(shí)間:
2018-11-27 21:49
謝謝樓主
作者:
從前有只喵嗚
時(shí)間:
2019-10-8 21:23
學(xué)習(xí)下哈哈哈
作者:
fefen0
時(shí)間:
2021-5-3 14:58
說了半天沒說明白啊
作者:
todaljy
時(shí)間:
2022-6-30 07:56
不管怎么變化,孫悟空就是孫悟空。
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1