2987|2

3

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

zigbee 接收字节丢失 [复制链接]

自己做了一个zigbee 模块,从串口接收字节
发现如果传送的字节过多(一次传 139 byte)其实会丢失20个字节
减少了字节再发送,减到28个,还是丢了1个字节
请问各位,这个是什么问题
如何解决
此帖出自无线连接论坛
点赞 关注
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 

http://bbs.feibit.com/thread-3216-1-1.html

这是另一个坛子上的回复,说最起码都能接 128个字节,这又是怎么回事

此帖出自无线连接论坛
 
 

回复

3

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
附上小弟的主程序,再次求大神解答


void initial(); //串口初始化
void Uart_SendByte(unsigned char buf);   //向串口发送数据

void main()
{
  initial();
  while (1)
  {
  }
}

void initial()
{
    CLKCONCMD &= ~0x40;              //晶振
    while(!(SLEEPSTA & 0x40));      //等待晶振稳定
    CLKCONCMD &= ~0x47;             //TICHSPD128分频,CLKSPD不分频
    SLEEPCMD |= 0x04;                                  //关闭不用的RC振荡器

    PERCFG = 0x00;                                //位置1 P0口
    P0SEL = 0x3c;                                //P0用作串口

    U0CSR |= 0xC5;/*0x80;        */                //UART方式
    U0GCR |= 10;                                //baud_e = 10;
//  U0BAUD |= 216;                                //波特率设为57600
    U0BAUD |= 59;                                //波特率设为38400
    UTX0IF = 1;

    U0CSR |= 0X40;                                //允许接收
    IEN0 |= 0x84;                                //开总中断,接收中断
}

void Uart_SendByte(unsigned char buf)
{  
    U0DBUF = buf;
    while(UTX0IF == 0);
    UTX0IF = 0;
}


#pragma vector=URX0_VECTOR
__interrupt void URX0_IRQ(void)
{
  unsigned char ch;
  ch = (unsigned char)U0DBUF;
  Uart_SendByte(ch);
}
此帖出自无线连接论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表