我的串口接收数组为什么不正确?上位机采用的是vb

#include<reg51.h>unsignedcharrcv[2];unsignedcharb=0;voidmain(){SCON=0x50;//SCON:serai... #include <reg51.h>
unsigned char rcv[2];
unsigned char b=0;
void main()
{
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
TMOD= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
PCON= 0x80 ; //SMOD=1;
TH1 = 0xFD ; //Baud:9600 fosc="11".0592MHz
TL1=0xFD;
ES=1;
TR1 = 1 ; // timer 1 run
EA=1;
}

void datareceieve(void) interrupt 4 using 3
{
unsigned char a;
if(RI)
{ RI=0;
a=SBUF;
rcv[b]=a;
b++;
P1=rcv[0];
P2=rcv[1];
if(b>1)
{ b=0;
}
}

EA=1;
}
这是我的程序,谢谢大家帮忙
展开
 我来答
萍水e相逢
2010-06-16 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
上位机 发送 的 是 ascii字符 还是 二进制?

祝你顺利
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式