Example #1
0
// Get data from nRF24L01 into buffer
// input:
//   reg - register number
//   pBuf - pointer to buffer
//   count - bytes count
// output: nRF24L01 status
uint8_t nRF24_ReadBuf(uint8_t reg, uint8_t *pBuf, uint8_t count) {
    uint8_t status,i;

    CSN_L();
    status = nRF24_ReadWrite(reg);
    for (i = 0; i < count; i++) pBuf[i] = nRF24_ReadWrite(0);
    CSN_L();

    return status;
}
/*
*****************************************************************
* 读寄存器
*****************************************************************
*/
uint8_t ANO_NRF::Read_Reg(uint8_t reg)
{
	uint8_t reg_val;
	CSN_L();					  /* 选通器件 */
	RW(reg);			  /* 写寄存器地址 */
	reg_val = RW(0);	  /* 读取该寄存器返回数据 */
	CSN_H();					  /* 禁止该器件 */
   return 	reg_val;
}
Example #3
0
u8 NRF24L01_Read_Reg(u8 reg)
{
	u8 reg_val;    
	CSN_L();                        //使能SPI传输
	SPI_ReadWriteByte(reg);         //发送寄存器号	
	reg_val=SPI_ReadWriteByte(0XFF);//读取寄存器内容
	CSN_H();                        //禁止SPI传输    
	return(reg_val);                //返回状态值
}
/*
*****************************************************************
* 写寄存器
*****************************************************************
*/
uint8_t ANO_NRF::Write_Reg(uint8_t reg, uint8_t value)
{
	uint8_t status;
	CSN_L();					  /* 选通器件 */
	status = RW(reg);  /* 写寄存器地址 */
	RW(value);		  /* 写数据 */
	CSN_H();					  /* 禁止该器件 */
  return 	status;
}
Example #5
0
u8 NRF24L01_Write_Reg(u8 reg,u8 value)
{
	u8 status;
	CSN_L();                          //使能SPI传输
	status=SPI_ReadWriteByte(reg);    //发送寄存器号 
	SPI_ReadWriteByte(value);         //写入寄存器的值
	CSN_H();                          //禁止SPI传输
	return(status);    //返回状态值
}
Example #6
0
// Write new value to register
// input:
//   reg - register number
//   value - new value
// output: nRF24L01 status
uint8_t nRF24_RWReg(uint8_t reg, uint8_t value) {
    uint8_t status;

    CSN_L();
    status = nRF24_ReadWrite(reg); // Select register
    nRF24_ReadWrite(value); // Write value to register
    CSN_H();

    return status;
}
Example #7
0
// Send buffer to nRF24L01
// input:
//   reg - register number
//   pBuf - pointer to buffer
//   count - bytes count
// output: nRF24L01 status
uint8_t nRF24_WriteBuf(uint8_t reg, uint8_t *pBuf, uint8_t count) {
    uint8_t status,i;

    CSN_L();
    status = nRF24_ReadWrite(reg);
    for (i = 0; i < count; i++) nRF24_ReadWrite(*pBuf++);
    CSN_H();

    return status;
}
Example #8
0
// Read nRF24L01 register
// input:
//   reg - register number
// output: register value
uint8_t nRF24_ReadReg(uint8_t reg) {
    uint8_t value;

    CSN_L();
    nRF24_ReadWrite(reg);
    value = nRF24_ReadWrite(0);
    CSN_H();

    return value;
}
Example #9
0
u8 NRF24L01_Read_Buf(u8 reg,u8 *pBuf,u8 len)
{
	u8 status,u8_ctr;       
	CSN_L();                             //使能SPI传输
	status=SPI_ReadWriteByte(reg);       //发送寄存器值(位置),并读取状态值 
	for(u8_ctr=0;u8_ctr<len;u8_ctr++)
		pBuf[u8_ctr]=SPI_ReadWriteByte(0XFF);//读出数据
	CSN_H();                             //禁止SPI传输
	return status;                       //返回读到的状态值
}
Example #10
0
u8 NRF24L01_Write_Buf(u8 reg, u8 *pBuf, u8 len)
{
	u8 status,u8_ctr;    
	CSN_L();                        //使能SPI传输
	status = SPI_ReadWriteByte(reg);//发送寄存器值(位置),并读取状态值
	for(u8_ctr=0; u8_ctr<len; u8_ctr++)
		SPI_ReadWriteByte(*pBuf++);     //写入数据  
	CSN_H();                        //关闭SPI传输
	return status;                  //返回读到的状态值
}
Example #11
0
void NRF_WriteReg(uint8_t RegCommand, uint8_t Value)
{
	CSN_H();
	delay_ms(3);
	CSN_L();
	spiX_put(RegCommand);
	spiX_wait();
	spiX_put(Value);
	spiX_wait();
	CSN_H();
}
/*
*****************************************************************
*
* 写缓冲区
*
*****************************************************************
*/
uint8_t ANO_NRF::Write_Buf(uint8_t reg, uint8_t *pBuf, uint8_t uchars)
{
	uint8_t i;
	uint8_t status;
	CSN_L();				        /* 选通器件 */
	status = RW(reg);	/* 写寄存器地址 */
	for(i=0; i<uchars; i++)
	{
		RW(pBuf[i]);		/* 写数据 */
	}
	CSN_H();						/* 禁止该器件 */
    return 	status;	
}
/*
*****************************************************************
* 读缓冲区
*****************************************************************
*/
uint8_t ANO_NRF::Read_Buf(uint8_t reg, uint8_t *pBuf, uint8_t uchars)
{
	uint8_t i;
	uint8_t status;
	CSN_L();						/* 选通器件 */
	status = RW(reg);	/* 写寄存器地址 */
	for(i=0; i<uchars; i++)
	{
		pBuf[i] = RW(0); /* 读取返回数据 */ 	
	}
	CSN_H();						/* 禁止该器件 */
    return 	status;
}
Example #14
0
void NRF_WriteRegData(uint8_t RegCommand, uint8_t* pData, uint8_t DataSize)
{
	uint8_t ii;
	CSN_H();
	delay_ms(3);
	CSN_L();
	spiX_put(RegCommand);
	spiX_wait();
	for(ii = 0; ii < DataSize; ii++)
	{
		spiX_put(pData[ii]);
		spiX_wait();
	}
	CSN_H();
}
Example #15
0
char spiX_readreg(char RegCommand)
{
	char val;
	CSN_H();
	delay_ms(2);
	CSN_L();
	spiX_put(RegCommand);
	spiX_wait();
	spiX_get();
	delay_ms(3);
	spiX_put(0);
	spiX_wait();
	val = spiX_get();
	CSN_H();
	return val;
}