单片机通过串口发送12位的十六进制数据,先发高4位,后发低8位,用C#做了一个串口,用于接收数据
由于12位16进制数是被分着发送的,不知道应该怎么把串口接收到的数据重新整合成12位的数据并且转换为十进制数。求各位大神指点迷津。不胜感激...
由于12位16进制数是被分着发送的,不知道应该怎么把串口接收到的数据重新整合成12位的数据并且转换为十进制数。求各位大神指点迷津。不胜感激
展开
1个回答
展开全部
发送:
int ii;
char i;
ii=data;//待发送数据
i=ii>>8;//取高8位
i&=0x0f;//取高4位
putchar(i);//发送高4位
i=ii&0xff;//取低8位
putchar(i);//发送低8r
接收:
int ii;
char i;
i=getchar();//收到高4位
ii=i;
ii<<=8;//ii左移8位
i=getchar();
ii+=i;// 得到12位数据
int ii;
char i;
ii=data;//待发送数据
i=ii>>8;//取高8位
i&=0x0f;//取高4位
putchar(i);//发送高4位
i=ii&0xff;//取低8位
putchar(i);//发送低8r
接收:
int ii;
char i;
i=getchar();//收到高4位
ii=i;
ii<<=8;//ii左移8位
i=getchar();
ii+=i;// 得到12位数据
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询