微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微波和射频技术 > 天线设计和射频技术 > nrf905

nrf905

时间:04-08 整理:3721RD 点击:
Based on the attached design schematic, I made several samples, after test, it is found they all can well receive data, but can NOT send data out, I check its DR pin status before and after transmission, it became from low to high level, but standard receiver's CD AM DR always are low level, no any response, it puzzled me several days, any one would give me some clue what maybe cause this kind of problem: nrf905 only receive data , and can not send data out ?

thank you very much

Simon

What is the frequency of operation?

Added after 1 minutes:

Check the matching with
http://www.nordicsemi.com/files/Prod...RF905_v1.5.pdf

Sorry, Frequency is 433Mhz.also attach my program for your reference.
by the way, may it judge that components and nrf905 hardware work properly if RF receive function work well? I want to confirm where problem is? hardware or software.

Check Tx_EN than DR

please view the program, I first run SetTxMode() function, then run TxPacket() to execute Nrf905 transmission.

void TxPacket(unsigned char TxBUF[4])
{
Low_nrf905_CSN; // 使能Spi,允许对nrf905进行读写操作
Delay(1);
SpiReadSpiWrite(WTP); // 写数据前先写写数据命令
for (m=0;m<4;m++)
{
SpiReadSpiWrite(TxBUF[m]); // 待发送的4字节数据
}
High_nrf905_CSN;
Delay(5); // 关闭Spi,不允许对nrf905进行读写操作
Low_nrf905_CSN; // 使能Spi
SpiReadSpiWrite(WTA); // 写地址前首先先写地址命令
for(i=0;i<4;i++) // 写 4 bytes 地址
{
SpiReadSpiWrite(TxAddress[i]);
}
High_nrf905_CSN; // 关闭Spi
High_nrf905_TRX_CE; // Set TRX_CE high,start Tx data transmission
Delay(10); // 等待DR变高
Low_nrf905_TRX_CE; // 设置TRX_CE=0
}
//-------------------------------set transmission-----------------------------------
void SetTxMode(void)
{
Low_nrf905_TRX_CE; //
High_nrf905_TX_EN; //发送使能
Delay(10); // delay for mode change(>=650us)根据晶振不同要改变
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top