⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nrf2401.h

📁 用Keil写的NRF2401接受程序,重要的模块文件是nRF2401_Personal.h,源码中的注释我写的已经非常清楚,非常适合新手学习
💻 H
字号:
#ifndef _nRF2401_H_
#define _nRF2401_H_

#include "AT89X51.h"
#define  uchar   unsigned char
#define  uint    unsigned int

#define  PWR_UP    P1_0
#define  CE        P1_1
#define  CS        P1_2
#define  CLK1      P1_3
#define  DATA      P1_4
#define  CLK2      P1_5
#define  DOUT2     P1_6

void CS_CLR(void)
{
  CS=0;
}

void CS_SET(void)
{
  CS=1;
} 

void CE_CLR(void)
{
  CE=0;
}

void CE_SET(void)
{
  CE=1;
} 

void CLK1_CLR(void)
{
  CLK1=0;
}

void CLK1_SET(void)
{
  CLK1=1;
}

void CLK2_CLR(void)
{
  CLK2=0;
}

void CLK2_SET(void)
{
  CLK2=1;
}

void POWER_SET(void)
{
  PWR_UP=1;
}

void POWER_CLR(void)
{
  PWR_UP=0;
}

void DATA_SET(void)
{
  DATA=1;
}

void DATA_CLR(void)
{
  DATA=0;
}

//-----这样的一个循环通过反汇编指令,大约耗 16/12=1.333us,12M晶振-----//
void delayUS(uint t)		//NRF2401配置中的时序延时
{
  uint i;
  for(i=t;i>0;i--);
}
//---------------------------------------------------------------------//

void nRF2401_Run(void)		// 收发模式
{
  POWER_SET();
  CS_CLR();		 // first
  CE_SET();
}

void nRF2401_CFG(void)		//配置模式
{
  POWER_SET();
  CE_CLR();
  CS_SET();
}

void nRF2401_StandBy(void)		 //空闲模式
{
  POWER_SET();
  CE_CLR();
  CS_CLR();
  delayUS(18);    //由空闲模式进入其他模式或者操作的必要延时,最多是202us
}

void nRF2401_Off(void)		  //关机模式,不同于断电
{
  POWER_CLR();
  CS_CLR();
  CE_CLR();
}




#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -