关于STM32的NRF2401问题

2019-07-14 23:37发布

代码如下:#include "sys.h"#include "delay.h"
#include "usart.h"
#include "2401.h"
#include "led.h"
#include "key.h"
#include "stdio.h"
int main(void)
{
        u8 Scan_Status,        Repeat_Status;
        u8 CT[2]={1,1};
        u8 SN1[4]={0,0,0,0};
        u8 Tx_Buf1[4]={'1','1','1','1'}; //Òª·¢Ë͵ÄÊý¾Ý 1
        u8 Rx_Buf[32]; //½ÓÊÕµ½µÄÊý¾Ý  ×î¶à32×Ö½Ú
        u8 key=0;
       
        SystemInit();
        delay_init(72);             //ÑÓʱ³õʼ»¯
        NVIC_Configuration();
        uart_init(9600);
        LED_Init();
        KEY_Init();
        NRF24L01_Init();
        while(NRF24L01_Check())
        {
                delay_ms(300);
                LED0=!LED0;
                LED1=!LED1;
        }
        LED1=1;
        while(1)
        {
                RX_Mode();//½ÓÊÕģʽ
               
                while(NRF24L01_RxPacket(Rx_Buf))
                {
                        Scan_Status = KEY_Scan();
                        if(Scan_Status==0)
                        {
                                TX_Mode();
                                NRF24L01_TxPacket(SN1);
                                SN1[0]=0;
                                 SN1[1]=0;
                                 SN1[2]=0;
                                 SN1[3]=0;
                                   LED1=0;
                                 delay_ms(4000);
                                 LED1=1;
                                 delay_ms(4000);       
                                break;
                        }
                }
                if(Rx_Buf[0]==1)
                {
                        Rx_Buf[0]=0;
                        LED1=0;
                        delay_ms(300);
                        LED1=1;
                        delay_ms(300);
                }
        }
}

2401和按键的底成搭建没有问题,
问题:通过按键扫描让2401接收数据,但是扫描不到按键按下,其中LED1用来提示接收到了数据的。但是按键按下灯却没有出现闪烁

求大神指教

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
jeansonm
1楼-- · 2019-07-15 09:22
你的程序是每次循环查询是否有接收到数据,然后发送出去吗?数据发送完成后就直接设置成接收模式,在主循环里面一直设置成接收模式会不会把一些标志给清除了

评分

参与人数 1积分 +10 收起 理由 zhou2sheng + 10 感谢您的参与,您的支持是我们最大的动力.

查看全部评分

z00
2楼-- · 2019-07-15 14:27
  while(NRF24L01_RxPacket(Rx_Buf))
很可能是没接受到数据 或者按键返回结果为0
Lengghk
3楼-- · 2019-07-15 18:58
z00 发表于 2014-5-27 16:49
while(NRF24L01_RxPacket(Rx_Buf))
很可能是没接受到数据 或者按键返回结果为0

按键返回值不是0,但是不知道为什么没有接收到数据    求帮忙
见微知著
4楼-- · 2019-07-15 22:35
跟我的问题差不多,不知道你的解决了没,我的程序只能发送,不知道为什么接收不到

一周热门 更多>