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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

角度傳感器串口輸出ASCII嗎,怎么提取ASCII的整數呢?

[復制鏈接]
跳轉到指定樓層
樓主
ID:259813 發表于 2024-10-22 14:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
例如角度傳感器輸出ASCII嗎258.123度,只想提取258,怎么提取?比較困惑,求助一下
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2024-10-22 15:18 | 只看該作者


  1. uint ASCII_Convert(uchar * ptdat)
  2. {
  3.         uint Angle = 0;
  4.         uchar i = 0;
  5.         while(ptdat[i]>='0' && ptdat[i] <='9')
  6.         {
  7.                 Angle*=10;
  8.                 Angle+=ptdat[i]-'0';
  9.                 i++;
  10.         }
  11.         return Angle;
  12. }

  13. void main()
  14. {
  15.         uchar *AngleRaw = "258.123";
  16.         uint AngleGet = ASCII_Convert(AngleRaw);
  17.         while(1);
  18. }
復制代碼
回復

使用道具 舉報

板凳
ID:1034262 發表于 2024-10-22 21:22 | 只看該作者
那就取數據到小數點結束就可以了。
回復

使用道具 舉報

地板
ID:21455 發表于 2024-10-24 08:45 | 只看該作者
atoi() 函數了解下
回復

使用道具 舉報

5#
ID:446156 發表于 2024-10-24 13:03 | 只看該作者
  1. static float NumberResolution(char *Buf,uint8_t Star,uint8_t Stop)
  2. {
  3.         uint8_t i=0;
  4.         float Data=0;
  5.     uint8_t PointCount=0;
  6.     uint8_t PointEn=0;
  7.         uint8_t Negative = 0;
  8.        
  9.         for(i=Star;i<Stop;i++)
  10.         {
  11.                 if(Buf[i] == '-')
  12.                 {
  13.                         Negative = 1;
  14.                         Data = 0;
  15.                 }
  16.         else if(Buf[i] == '.')
  17.         {
  18.             PointEn = 1;
  19.             PointCount = 0;
  20.         }
  21.                 /*如果收到的字符是數字則是有效數據*/
  22.                 else if((Buf[i] >= '0') && (Buf[i] <= '9'))
  23.                 {
  24.                         Data = Data*10 + Buf[i] - '0';
  25.             /*計算小數點后有幾位*/
  26.             if(PointEn != 0)
  27.             {
  28.                 PointCount++;
  29.             }
  30.                 }
  31.                 /*如果收到的字符不是數字但是上次收到的字符是數字則接收完成*/
  32.                 else if((Buf[i-1] >= '0') && (Buf[i-1] <= '9'))
  33.                 {
  34.                         break;
  35.                 }
  36.         }
  37.     for(i=0;i<PointCount;i++)
  38.     {
  39.         Data = Data/10;
  40.     }
  41.         if(Negative != 0)
  42.         {
  43.                 Data = -Data;
  44.         }
  45.         return Data;
  46. }
復制代碼


回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲日韩中文字幕一区 | 欧美日韩国产欧美 | 亚洲精品久久久一区二区三区 | 无码一区二区三区视频 | 国产目拍亚洲精品99久久精品 | 欧美激情久久久 | 日日操av | 亚洲一二三区av | 久热精品在线播放 | 中文字幕国产第一页 | 亚洲九色 | hsck成人网| 自拍偷拍第一页 | 久久国内精品 | 99久久免费精品国产男女高不卡 | 99免费在线视频 | 国产免费人成xvideos视频 | 在线视频亚洲 | 五月婷婷亚洲 | 夜夜艹| 日本一二三区电影 | 亚洲精品一区二区三区 | 一区二区三区高清在线观看 | 亚洲国产一区二区三区在线观看 | 久久精品视频9 | 污片在线免费观看 | 中文字幕亚洲免费 | 亚洲国产成人在线视频 | 国产精品一区二区在线 | 久久一区二区三区电影 | 成人免费xxxxx在线视频 | 欧美色综合 | 夜夜草视频 | 亚洲高清在线观看 | 国产四虎| 欧美一级欧美一级在线播放 | 中文字幕一区二区在线观看 | 91高清视频在线 | 怡红院成人在线视频 | 亚洲视频一区二区三区 | 国产精品九九九 |