51单片机蓝牙接收丢包
void timer0_init(){
TMOD=0x20;
SCON=0x50;
PCON&=0x00;
TH1=0xFD;
TL1=0xFD;
TR1=1;
EA=1;
ES=1;
}
void serial(void) interrupt 4
{
IF (RI)
{
BUFF(N)=SBUF;
N++;
RI=0;
}
}
晶振11.0592
PC调试助手或单片机发送00 02 04 06 08的数据,接收是00 04 08 02 06
如果发送 00 00 02 0204 04 06 06 08 08 接收的是00 02 04 06 08
是不是丢包了?哪里出问题了?
用调试助手改为手动逐个输入00 02 04 06 08 接收数据依然是00 04 08 02 06
这样看来和输入的速度是没关系的,看来是缓存里的数据没被取走,直到下一个数据
覆盖后才取走,结果显示的是下一个数据。
BUFF(N)=SBUF;
本身没有问题, 我担心应用层来不及处理数据, 或者处理数据和接收数据异步问题导致丢失吧.
页:
[1]