打印
[技术求助]

F149 NRF24L0 传输速度

[复制链接]
1176|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dingruiaa1|  楼主 | 2013-12-20 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dingruiaa1 于 2013-12-20 14:12 编辑

用的MSP430F149的开发版  自带的NRF24L0的口   用F149本身AD采集数据  用NRF24L0作传输   AD采样接受端很快  NRF24L0设置没有找到连续发送模式   只能一次次设置
造成接受端采样数据失真 求各位大神  帮看看咱们改
发送端
void nRF24L01_TxPacket(char * tx_buf)
{
        RF24L01_CE_0 ;                        //StandBy I模式        
        SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 装载接收端地址
        SPI_Write_Buf(WR_TX_PLOAD, tx_buf, TX_PLOAD_WIDTH);                          // 装载数据        
         SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e);                    // IRQ收发完成中断响应,16位CRC,主发送
        RF24L01_CE_1;                 //置高CE,激发数据发送
        Delay(10);
}
__interrupt void ADC12ISR (void)
{
   P2OUT = 0x0f;
    int * pInt=(int *)(TxBuf + nCount);
    pInt[0]=ADC12MEM0;
    nCount+=2;
    if(nCount>31)    //TxBuf是32的char  
    {
     P2OUT = 0x00;
      P2OUT = 0x0d;
     nRF24L01_TxPacket(TxBuf);
    SPI_RW_Reg(WRITE_REG+STATUS,0XFF);   //清状态寄存器   
     P2OUT = 0x0e;
    Delay(10);
    }
        ADC12CTL0 |= ADC12SC;                     // 开始转换
}


接受端
    while(1)
      {
       SetRX_Mode();
      if(nRF24L01_RxPacket(RxBuf))   //判断是否收到数据
        {
        
        for(char L=0;L<32;L++)        //收到数据后,串口显示
          {
            
            P2OUT=0x00;
            R_S_Byte(RxBuf[L]);
            Delay(1);
          }        
        }
      }
void SetRX_Mode(void)
{
        RF24L01_CE_0 ;
        Delay(1);
        SPI_RW_Reg(WRITE_REG + CONFIG, 0x0f);
        RF24L01_CE_1;
        Delay(50);//注意不能太小
}
在线等丫!!!!!!!!:'(

相关帖子

沙发
dingruiaa1|  楼主 | 2013-12-20 14:23 | 只看该作者
大神都哪去了呀

使用特权

评论回复
板凳
dingruiaa1|  楼主 | 2013-12-20 15:26 | 只看该作者

大神都哪去了呀

使用特权

评论回复
地板
gaoyang9992006| | 2013-12-20 16:11 | 只看该作者
上班呢,况且周五,等下班了帮你看

使用特权

评论回复
5
dingruiaa1|  楼主 | 2013-12-23 08:49 | 只看该作者
:'(周末都过去了.....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝