STC89C52与PC串口通讯怎么发字符串?求程序!我单字符发成功了,就是字符串不知道怎么弄?
发布网友
发布时间:2022-05-07 09:53
我来回答
共2个回答
热心网友
时间:2023-10-24 21:29
呵呵,这个问题很简单。比如你需要发送字符串"i can help you!"共计15个字符,那么你可以用一个数组比如sendBuf[15]="i can help you!";然后,你在发送的时候写一个for循环就行咯:
for(i=0;i<15;i++)
{
SBUF=sendBuf[i];
while(!TI); //等待发送完毕
}
在接收的时候也是一样的:定义接收缓冲区receiveBuf[15];
然后中断里面的接收语句体为:
void ser() interrupt 4
{
RI=0;
receiveBuf[m++]=SBUF;//注意m为全局变量
if(m==15)//接收完毕
{
flag=1;
m=0;
}
}
这样接收完毕之后,接收缓冲区的内容就是你需要的字符串了。
OVER。
热心网友
时间:2023-10-24 21:30
把你的程序显示出来,简单改改即可。
热心网友
时间:2023-10-24 21:29
呵呵,这个问题很简单。比如你需要发送字符串"i can help you!"共计15个字符,那么你可以用一个数组比如sendBuf[15]="i can help you!";然后,你在发送的时候写一个for循环就行咯:
for(i=0;i<15;i++)
{
SBUF=sendBuf[i];
while(!TI); //等待发送完毕
}
在接收的时候也是一样的:定义接收缓冲区receiveBuf[15];
然后中断里面的接收语句体为:
void ser() interrupt 4
{
RI=0;
receiveBuf[m++]=SBUF;//注意m为全局变量
if(m==15)//接收完毕
{
flag=1;
m=0;
}
}
这样接收完毕之后,接收缓冲区的内容就是你需要的字符串了。
OVER。
热心网友
时间:2023-10-24 21:30
把你的程序显示出来,简单改改即可。
热心网友
时间:2023-10-24 21:29
呵呵,这个问题很简单。比如你需要发送字符串"i can help you!"共计15个字符,那么你可以用一个数组比如sendBuf[15]="i can help you!";然后,你在发送的时候写一个for循环就行咯:
for(i=0;i<15;i++)
{
SBUF=sendBuf[i];
while(!TI); //等待发送完毕
}
在接收的时候也是一样的:定义接收缓冲区receiveBuf[15];
然后中断里面的接收语句体为:
void ser() interrupt 4
{
RI=0;
receiveBuf[m++]=SBUF;//注意m为全局变量
if(m==15)//接收完毕
{
flag=1;
m=0;
}
}
这样接收完毕之后,接收缓冲区的内容就是你需要的字符串了。
OVER。
热心网友
时间:2023-10-24 21:30
把你的程序显示出来,简单改改即可。