一区二区三区成人-一区二区三区www-一区二区三区 日韩-一区二区日韩欧美-一区二区日韩精品中文字幕-一区二区日韩

newtlk
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 3 個
工控威望: 121 點
下載積分: 561 分
在線時間: 2(小時)
注冊時間: 2014-06-13
最后登錄: 2014-08-26
查看newtlk的 主題 / 回貼
樓主  發(fā)表于: 2014-06-16 19:30
將 modbus RTU 過來的十六進制的資訊(如:41 E1 32 F2) 轉(zhuǎn)換成小數(shù)(28.149876)(IEEE 754)

復(fù)制代碼
  1. #include <stdio.h>  // printf
  2. #include <stdlib.h> // system("pause")
  3. #include <stdint.h> // uint8_t
  4. #include <string.h> // memcpy
  5. float raw2ieee(uint8_t *raw)
  6. {
  7.     // either
  8.     union {
  9.         uint8_t bytes[4];
  10.         float fp;
  11.     } un;
  12.     memcpy(un.bytes, raw, 4);
  13.     return un.fp;
  14.     // or, as seen in the fast inverse square root:
  15.     return *(float *)raw;
  16. }
  17. int main(int argc, char *argv[])
  18. {
  19.     uint8_t val[64];               //declare input value recieved from serial connection
  20.     
  21.     int i=0;
  22.     
  23.     // your 0xXX here
  24.     val[i]=0xf2;                    // Low  
  25.     val[i+1]=0x32;                  //
  26.     val[i+2]=0xe1;                  //
  27.     val[i+3]=0x41;                  // High
  28.     
  29.     printf("Raw:   %X %X %X %X\n",val[i+3],val[i+2],val[i+1],val[i]);
  30.     printf("Float: %f \n\n", raw2ieee(val));         //show the value in float
  31.     
  32.     system("pause");
  33.     //getchar( ); // stdio.h
  34. }
  35. /* RESULT */
  36. // Raw1:  41 E1 32 F2
  37. // Float: 28.149 876
  38. //
  39. // 請按任意鍵繼續(xù) . . .

主站蜘蛛池模板: caoporen97免费公开视频| 国产欧美二区三区| 国产色网址| 久久婷婷五月综合色丁香| 亚洲精品一区二区观看| 91制片厂官网| 99久久久久国产精品免费| 欧美一区二区三区综合色视频| 91正在 播放| 91中文在线| 亚洲成色| 我的妹妹最近有点怪免费播放| 32pao强力打造免费高速高| 手机看片福利盒子久久| 青青青手机视频在线观看| 精品一区二区高清在线观看| 爱情岛论坛亚洲品质自拍视频| 亚洲视频在线免费| 精品国产免费一区二区三区| 国产亚洲人成网站在线观看不卡| 欧美摸胸| 亚洲国产无线码在线观看 | 香蕉久久久久| 美女扒开粉嫩尿口漫画| 成年人免费观看视频网站| 国产探花视频| 日韩一区二区三区免费| 特级www| 天美传媒tm0065| 国产免费福利片| 国产拍拍拍免费专区在线观看 | 久久久91精品国产一区二区 | 午夜第一页| 手机看片福利| 我和寂寞孕妇的性事| 男女xxoo做爰猛烈动态一| 好紧好爽再叫浪一点点潘金莲| 成人丁香婷婷| 91啦在线播放| 国产精品igao视频网网址| 五月色婷婷在线影院|