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

2020-01-23 14:44发布

各位大神  我使用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);
       
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
jiang887786
1楼-- · 2020-01-23 16:19
 精彩回答 2  元偷偷看……
2008081274
2楼-- · 2020-01-23 18:05
jiang887786 发表于 2014-5-8 23:43
清除发送中断,清除发送接收缓存,再发试试!

我没有中断发送呀  定时器0是为了超声波计时用的   
jiang887786
3楼-- · 2020-01-23 19:34
2008081274 发表于 2014-5-9 00:16
我没有中断发送呀  定时器0是为了超声波计时用的

模块自己会中断的,你还是多看看文档吧。说了你不能理解。
2008081274
4楼-- · 2020-01-23 20:25
jiang887786 发表于 2014-5-9 14:37
模块自己会中断的,你还是多看看文档吧。说了你不能理解。

恩恩  谢谢啦

一周热门 更多>