51单片机,当我用串口在文本模式下,发送了一个字符串ABCDEFGH,然后我怎么把sbuf赋值给一个数组

if(RI){i=sbufRI=0}这时候我的i是不是只收到一个字节A。... if(RI)
{i=sbuf
RI=0
}
这时候我的i是不是只收到一个字节A。
展开
 我来答
pengxiangweitt
2016-06-06 · TA获得超过202个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:73.9万
展开全部
是的,因为if(Ri)判断为真的时候,执行大括号里面的代码,RI = 0之后,下次循环if(Ri==0)了,跳过该循环,故只收到一个字节
更多追问追答
追问
那我应该怎么把sbuf里面的字节全部读取完
追答
假设SBUF字符串存在数组b[j]中,j=0,1,2 ... 7;
要读取的字符放到数组a[i]中;
int i=0,j=0,k=0;
if(b[j] != '\0') //数组b[j] 字符串没有到最后一个
{
a[i] = b[j];

i++;

j++;

}
for(k=0;k≤i;k++)
{
printf("%d/n",&a[k]);

}
写代码软件都没有了,在回答框手打的,可能需要你适当修改下,加上头文件,数组定义等
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式