单片机 串口接收的字符串如何转为字符
2个回答
展开全部
楼主你好,楼上兄弟说的太复杂了,
恕我直言 没看懂你想说明神马问题,串口接收到的字符串如何转化成字符,首先字符串是字符的连续储存方式,那么
例:
char temp[4] = { A, B, C };这是一个标准字符串
那么temp[0]=='A';为真
以此类推temp[1] =='B'
temp[3] == '/0';//c语言字符串结尾标示符./0转义符
如果你想显示中文那么 中文是16bit的,双字节字符
short temp;
temp=sbuf;将第一个数据获取回来
temp<<=8;将数据左移8位
temp|=sbuf;将第二次的数据带入进来
可能会我记错了高低位顺序,要是出错可以反过来即可!
小弟告诉你一个最简单最实用的办法 如何把字符中的数字变成变量数据
switch 你会用么 就是开关选择语句
static char temp;//申明一个变量 这是个全局静态变量
temp = sbuf;
switch(temp)
{
case '0':temp = 0; break;//break必须要加,否则数据覆盖
case '1':temp = 1; break;
case '2':temp = 2;break;
...
}
以此类推 ,这样你的道的字符串或字符数据则能变成数据,
字符串也只是数组而已 而楼主想要的字符也就是其中的一个元素罢了 可以用指针方式提取 亦可以用数组下标提取!这用的都是ascll码 但是不需要理解到码表上
请楼主明察抢答时间 ,楼下请勿复制,祝楼主早日解决程序问题,加油加油
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询