展开全部
单片机 串口发送多字节数据,可以一个一个的发送,即
发送 一个 字节,等待发送 完毕,接着发送 下一个字节,再等待发送 完毕。
再发送 一个 字节,- - -
接收也是一样,一个一个接收,
一般 多字节发送 与 接收,可以设计一个 通讯 协议,如 发送
指令码 - 数据1 - 数据2 - - - 数据n - 校验码 - 结束码
这样的 通讯 可以不出错误。
发送 一个 字节,等待发送 完毕,接着发送 下一个字节,再等待发送 完毕。
再发送 一个 字节,- - -
接收也是一样,一个一个接收,
一般 多字节发送 与 接收,可以设计一个 通讯 协议,如 发送
指令码 - 数据1 - 数据2 - - - 数据n - 校验码 - 结束码
这样的 通讯 可以不出错误。
更多追问追答
追问
我刚刚写了,可以发送,但是用串口工具接收发现有时候是4个或者2个,虽然发送内容正确,但是接收的数据个数错了。求教
while(1)
{
while(flag)
{
for(j =0;j<4;j++)
{ SBUF = d[j];
}
}
}
void chuankou(void) interrupt 4
{
if(RI)
{ RI = 0;
flag = 1; }
else if(TI)
{ TI = 0;
if(j==3){flag=0;j=0;}
}
}
追答
这是你发送的方法有问题,你发送一个字节 后 ,没有等待发送 完毕 就发送下一个字节
应该 检测 TI=1 后 清零 再,发送下一个字节。
展开全部
把你的程序列出来。。
追问
有几个变量,都是8位的数据,想通过单片机串口发送出去,SBUF是不是每次只能发送一个8位的数据??请问如果想要将这几个数据发送出去要怎么做??
追答
M
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没明白你是什么意思?
追问
有几个变量,都是8位的数据,想通过单片机串口发送出去,SBUF是不是每次只能发送一个8位的数据??请问如果想要将这几个数据发送出去要怎么做??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询