2008081274 发表于 2014-5-8 23:26:50

超声波测距+24l01 只发送一次呀

各位大神我使用NRF24L01传递超声波采集的数据,怎么发送一次就不发送了。
void main(void)
{
      uchar temp = 0;
      TMOD=0x01;                   //设T0为方式1,GATE=1;
        TH0=0;
        TL0=0;
        ET0=1;             //允许T0中断
      EA=1;                           //开启总中断
      init_NRF24L01();
       nRF24L01_TxPacket(TxBuf);        // Transmit Tx buffer data
       Delay(6000);
       while(1)
        {
         if(temp = 3)
          {
                        temp = 0;
                       StartModule();
                       while(!RX);                //当RX为零时等待
                       TR0=1;                          //开启计数
                       while(RX);                        //当RX为1计数并等待
                       TR0=0;                                //关闭计数
                        Conut();                        //计算
                       delayms(100);                //100MS
          }
            temp++;
            Conut();                        //计算
             nRF24L01_TxPacket(TxBuf);        // Transmit Tx buffer data
             led = 0;
             Delay(10000);      //可变
             SPI_RW_Reg(WRITE_REG+STATUS,0XFF);
              led =1;
             Delay(8000);
       
        }
}

jiang887786 发表于 2014-5-8 23:43:40

清除发送中断,清除发送接收缓存,再发试试!

2008081274 发表于 2014-5-9 00:16:12

jiang887786 发表于 2014-5-8 23:43
清除发送中断,清除发送接收缓存,再发试试!

我没有中断发送呀定时器0是为了超声波计时用的   

jiang887786 发表于 2014-5-9 14:37:12

2008081274 发表于 2014-5-9 00:16
我没有中断发送呀定时器0是为了超声波计时用的

模块自己会中断的,你还是多看看文档吧。说了你不能理解。

2008081274 发表于 2014-5-9 15:08:33

jiang887786 发表于 2014-5-9 14:37
模块自己会中断的,你还是多看看文档吧。说了你不能理解。

恩恩谢谢啦
页: [1]
查看完整版本: 超声波测距+24l01 只发送一次呀