w灰太狼x 发表于 2013-5-10 13:17:16

nrf24l01和蓝牙放在一个程序里2401就不能正常工作!!!

本帖最后由 w灰太狼x 于 2013-5-10 13:23 编辑

nrf24l01和蓝牙放在一个程序里2401不能正常工作!!!把蓝牙初始化串口和蓝牙接收数据部分全屏蔽了2401就可以正常工作了.(我发的图片里的RI忘记清零了,实际程序里已经清零了)
#include<reg52.h>
#include <intrins.h>
#include"fs.h"
#include"ds18b20.h"
#include"小车.h"
#include"PWM.h"
bit flag;
uint templanya;
void delayus(uint i)
{
        while(i--);
}
void init_lanya()
{       
        TMOD=0x20;//设置定时器1为工作方式2 //GATE为0
        TH1=0xfd; //设置波特率为9600
        TL1=0xfd;
        TR1=1;          //GATE为0时TR1置1打开定时器1
        REN=1;          //允许串行口接收数据       
        SM0=0;          //设置串行口为工作方式1
        SM1=1;

}
void init_wx_wd()
{
        uchar i;
    display_DS18B20(); //获取温度值
        for(i=0;i<6;i++)
                TxBuf=DisBuf;//把温度用无线发送
        nRF24L01_TxPacket(TxBuf); // Transmit Tx buffer data                  
        SPI_RW_Reg(WRITE_REG+STATUS,0XFF);                
}

void main()
{
       
        init_lanya();                  //初始化蓝牙串口
        init_NRF24L01();          //NRF24L01初始化配置
        Delay(10);
                                
        while(1)
        {       
              init_wx_wd();          //2401接收温度并在液晶上显示
                //*****************蓝牙处理算法****************//
              if(RI==1)       //RI==1表示收到了数据
          {
                RI=0                             //收到数据后RI需要软件清零
                templanya=SBUF;                   //收到的数据存在SBUF中
                switch(SBUF)
                {                       
                        case 0xfe: qianjin();    //delayxms(20);stop();delayxms(5);
                               if(bz1==0){zuozhuan();delayxms(1000);qianjin();}
                               if(bz2==0){youzhuan();delayxms(1000);qianjin();}
                               if(bz1==0&&bz2==0){houtui();delayxms(5000);zuozhuan();delayxms(500);qianjin();}
                               break;                                                                                                                                                                                                                                          
                        case 0xfd: houtui();delayus(30000);stop();delayus(1);break;                                                  
                        case 0xfb: zuozhuan();delayus(30000);stop();delayus(1);
                               if(bz1==0){youzhuan();delayxms(5000);qianjin();}
                                break;
                        case 0xf7: youzhuan();delayus(30000);stop();delayus(1);
                             if(bz1==0){zuozhuan();delayxms(5000);qianjin();}break;
                        case 0xff: stop();break;
                }
                while(templanya==0x55)
                {
                        RI=0;templanya=SBUF; xunji();       
                }
                }                       
        }       
}

w灰太狼x 发表于 2013-5-10 14:09:33

等待大虾帮忙解决中..........

qllaoda1 发表于 2013-5-10 15:45:19

本帖最后由 qllaoda1 于 2013-5-10 15:46 编辑

2.4G的频率干扰

w灰太狼x 发表于 2013-5-10 15:59:50

qllaoda1 发表于 2013-5-10 15:45 static/image/common/back.gif
2.4G的频率干扰

有没有什么好办法能解决呢

brant08 发表于 2014-11-25 17:20:01

24L01不是可以调频率吗?
页: [1]
查看完整版本: nrf24l01和蓝牙放在一个程序里2401就不能正常工作!!!