200自由口通信讀浮點數(shù)
鄭志武
發(fā)布于2013-03-13 09:43
246
0
標簽:
1、如圖所示,為一批量控制器的發(fā)送格式,其協(xié)議是ascii,
圖中有幾個數(shù)據(jù),如果我發(fā)送“t?”給儀表,那么它全部給我返回來,我如何只讀其中的一個累計值呢?這里面數(shù)據(jù)之間有空格,這個怎么辦?還有帶小數(shù)點的實數(shù),實數(shù)如何傳送呢?
問題補充:
那么也就是說,一個數(shù)據(jù),如果是整型,就是16位,帶小數(shù)點的實數(shù)就是32位?而不管這個數(shù)值是多大?還是整型也是32位?
(通信的數(shù)據(jù)位為8位。)
圖片說明: 1,發(fā)送格式
佳答案
1.如果我發(fā)送“t?”給儀表,那么它全部給我返回來,我如何只讀其中的一個累計值呢?
樓主的圖片中只寫了t?的發(fā)送指令,沒有r?的指令,因此讀回來的數(shù)據(jù)如何解析,無法給您提供建議。
2.這里面數(shù)據(jù)之間有空格,這個怎么辦?
數(shù)據(jù)間的空格是為了顯示而人為隔開的,其實真正通訊時,所有的數(shù)據(jù)是按照一個一個字符依次返回的。
3.還有帶小數(shù)點的實數(shù),實數(shù)如何傳送呢?
所有的實數(shù)都是按照國際標準ansi/ieee754進行編碼的32位數(shù)據(jù)(如果樓主的儀表完全滿足國際標準的話),首先獲得十六進制碼值,然后根據(jù)ascii碼換算后得到8個字符即可。