当前位置:网站首页>MCU接收串口字符型数据转换成数据型数据
MCU接收串口字符型数据转换成数据型数据
2022-08-03 05:24:00 【langaopeng】
做MCU开发时,常常碰到串口接收的数据是字符型数据,是ASCII码,而我们需要解析的是数据型的。如:串口接收到的是:"-236,854,635"这个字符串。而我们需要将这个字符串解析为:int 的-236,854,635才能为我所用。
以下是实现功能的子函数。
void PutCharTOdata(double *tab,u8 *rev_tab,u8 rev_count)// tab[ ] 为转换后的数据,rev_tab[ ]为转换前的一个个字符,rev_count为字符串长度(字符的个数)
{
u8 i;
u8 pflag = 0;
u8 point = 0;
u8 F_flag =0;
for(i=0;i<10;i++) tab[i] =0.0;
for(i=0;i<rev_count;i++)
{
if((F_flag==0)&&(rev_tab[i] == '-'))//判断是否为负号
{
F_flag = 1;
}
else if(rev_tab[i]!=',')//判断是否碰到逗号
{
if(rev_tab[i]!='.')//判断是否碰到小数点
{
if(pflag)
{
tab[point] = (double)(rev_tab[i]-0x30)/(pow(10,pflag))+tab[point];
pflag ++;
}
else
{
tab[point] = (rev_tab[i]-0x30)+tab[point]*10;
}
}
else
{
pflag ++;
}
}
else if(rev_tab[i]==',')
{
if(F_flag ==1) tab[point] = -tab[point];
point++;
pflag =0;
F_flag = 0;
}
}
if(F_flag ==1) tab[point] = -tab[point];
}
此函数的功能为将rev_tab[ ] = "-236,854,635";这个字符串解析为了:
tab[0] =-236;
tab[1] = 854;
tab[2] = 635;
边栏推荐
- Oracle count(1)、count(*)、count(列) 区别详解
- 进程间通信IPC - 信号量
- Oracle 分区索引详解(local、global)
- Invalid signature file digest for Manifest main attributes解决方法
- 中国柔性制造系统(FMS)市场发展动态及未来趋势预测报告2022~2028年
- 寄存器常见指令
- 中国食品产业园区行业前景规划建议及投融资模式分析报告2022~2028年
- A.1#【内存管理】——1.1.1 node:struct pglist_data
- block底层探索
- Ansible installation and deployment detailed process, basic operation of configuration inventory
猜你喜欢
mysql 客户端SSL错误2026 (HY000)
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
Execute the mysql script file in the docker mysql container and solve the garbled characters
自监督论文阅读笔记Index Your Position: A Novel Self-Supervised Learning Method for Remote Sensing Images Sema
自监督论文阅读笔记 DenseCL:Dense Contrastive Learning for Self-Supervised Visual Pre-Training
设备树解析源码分析<devicetree>-1.基础结构
深度学习理论课程第四、五章总结
【第二周】卷积神经网络
自监督论文阅读笔记Efficient Self-supervised Vision Pretraining with Local Masked Reconstruction
自监督论文阅读笔记 S3Net:Self-supervised Self-ensembling Network for Semi-supervised RGB-D Salient Object Det
随机推荐
Invalid signature file digest for Manifest main attributes解决方法
中国生物反应器行业市场投资分析及前景预测报告2022~2028年
Dynamic adjustment subject web system?Look at this one is enough
NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
【第一周】深度学习和pytorch基础
enum和enum class的区别
卷积神经网络入门
中国生活垃圾处理行业十四五规划与投融资模式分析报告2022~2028年
该描述怎么写成SQL语句
Hook初探索
ucos任务调度原理
Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)
滚动条 scrollbar 和scrollbar-thumb 样式
深度学习理论课程第八、九、十章总结
中国生物降解塑料行业市场运营态势及发展趋势研究报告2022~2028年
自监督论文阅读笔记Reading and Writing: Discriminative and Generative Modelingfor Self-Supervised Text Recogn
自监督论文阅读笔记 Ship Detection in Sentinel 2 Multi-Spectral Images with Self-Supervised Learning
Try setting CHROME_EXECUTABLE to a Chrome executable
中国磷化铟晶圆行业发展前景与投资规划分析报告2022~2028年
自监督论文阅读笔记Efficient Self-supervised Vision Pretraining with Local Masked Reconstruction