C51单片机通过串口通信,发送的数据内容是ASCII吗请问你是怎么把对应的ASCII码转换为CHAR,然后把数字转换
例如floata=12.3.转换成ASCII码后为chardata[]={0x31,0x32,0x2e,0x32}.我把这个字符数组发送给液晶就可以显示。然后液晶发给我字...
例如float a=12.3.转换成ASCII码后为char data[]={0x31,0x32,0x2e,0x32}.我把这个字符数组发送给液晶就可以显示。然后液晶发给我字符数组 char data[],转换成float类型。
展开
3个回答
展开全部
单片机跟什么通信,跟电脑吗?
单片机之间,发什么都行。
跟电脑,那得看你电脑上的软件要什么数据了,有的程序能显示16进制数。那你发什么都行。不一定要弄成 ASCII码。
想转的话,ASCII转CHAR跟本不用转,char型本来内部就是按ASCII码存的。数字 就是单个位的数字+'0'就好了。多位数的你得一位位去转哦。
单片机之间,发什么都行。
跟电脑,那得看你电脑上的软件要什么数据了,有的程序能显示16进制数。那你发什么都行。不一定要弄成 ASCII码。
想转的话,ASCII转CHAR跟本不用转,char型本来内部就是按ASCII码存的。数字 就是单个位的数字+'0'就好了。多位数的你得一位位去转哦。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(GET_DATA>='0' && GET_DATA<='9')
CHAR_GET=GET_DATA-'0';
else if(GET_DATA>='a' && GET_DATA<='z')
CHAR_GET=GET_DATA-'a'+0x0A;
else if(GET_DATA>='A' && GET_DATA<='Z')
CHAR_GET=GET_DATA-'A'+0x0A;
else
CHAR_GET= NONE ;
CHAR_GET=GET_DATA-'0';
else if(GET_DATA>='a' && GET_DATA<='z')
CHAR_GET=GET_DATA-'a'+0x0A;
else if(GET_DATA>='A' && GET_DATA<='Z')
CHAR_GET=GET_DATA-'A'+0x0A;
else
CHAR_GET= NONE ;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计算,查表就能实现了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询