liyanjun4413 发表于 2011-4-27 13:44:24

有用过NRF24LE1自动应答的请进

最近在用NRF24LE1的带载荷应答,一直没有调通,有用过的朋友能分享分享!

coscn 发表于 2011-4-27 14:03:31

这个真的不难,你贴出配置RF,还有写TX Payload的代码来看看吧。

liyanjun4413 发表于 2011-4-28 10:59:33

/**************************************************
功能:RF初始化
**************************************************/
void rf_init(void) {
        RFCE = 0;                                                 // RF关闭
        RFCKEN = 1;                                                 // 启动RF时钟
        RF = 1;                                                     // 允许RF中断

        delay(1000);
   
    SPI_RW_Reg(WRITE_REG + SETUP_AW, 0x01);                //设置地址长度0~1位
        SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);            // 设置发射地址
        SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH);         // 设置接收地址长度

        SPI_RW_Reg(WRITE_REG + FEATURE, 0x06);                          //1位允许,使能动态载荷长度,使能带载荷ACK
        SPI_RW_Reg(WRITE_REG + DYNPD, 0x01);                          //使能数据通道0动态载荷长度
        SPI_Write_Buf(W_ACK_PAYLOAD, TX_ADD, 4);

        SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);                              // 启动自动应答功能        数据通道0
        SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);                        // PIPE0接收数据
        SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x10);                         // 自动重传10次
        SPI_RW_Reg(WRITE_REG + RF_CH, 0x40);                              // RF频率2440MHz
        SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);                           // 发射功率0dBm, 传输速率2Mbps,
        SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH);         // PIPE0 接收数据包长度                       
}

liyanjun4413 发表于 2011-4-28 11:06:50

现在我不知道如何判断我确实把接收端的带载荷应答包发给发送端了,还望请教请教!

是我配置有问题还是其他地方应该注意些什么了,觉得是一头雾水呀!

madara 发表于 2011-4-28 12:03:33

NRF24LE1没用过,24L01用过,你可以参考下:抓STATUS寄存器的TX_DR位,是1说明发的包已经通过硬件ACK确认发完,然后把这位清0。注意:这个清0得用写1操做清零,怪着呢。

zplmcu 发表于 2011-6-17 16:26:52

MARK

zplmcu 发表于 2011-6-24 09:48:37

SPI_RW_Reg(WRITE_REG + RX_PW_P0, TX_PLOAD_WIDTH);// PIPE0 接收数据包长度
把这个屏蔽掉都使用动态载荷了 使用这个没用
并且你仔细看关于动态载荷的FIFO数据填充介绍
你的问题就出现在那。。。。。。
页: [1]
查看完整版本: 有用过NRF24LE1自动应答的请进