串口接无线芯片,发送命令02 03 00 10 00 04 ff ff,接收9个字节数据,前三个为02 03 04,芯片接电脑串口接收正常,单片机接电脑串口发送数据正常,芯片接单片机接收数据为02 03 ff,只接收到了3位,且第三位数据有问题,收发代码附上,求大神帮忙看一下。谢谢~
void ser() interrupt 4
{
static uchar i=0;
uchar ch,j;
RI=0;
table5[i]=SBUF;
i++;
delay_ms(10);
if(i==3) //共9个字节数据
{
i=0;
flag=1; //接收标志位
add(1,0); //12864显示位置
for(j=0;j<3;j++) //table5数组显示
{
write_data(table5[j]);
}
}
delay_ms(10);
}
void main()
{
uchar i;
init();
lcd_init();
delay_ms(10);
while(1)
{
if(flag)
{
ES=0;
flag=0;
for(i=0;i<8;i++)
{
send_char_com(table4[i]);
}
ES=1;
}
}
} |