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

📄 nrf905.c

📁 基于STC89C58单片机的无线传输(NFR905)C51原程序
💻 C
字号:
//此程序没有加接收反回指令
//
#include <reg52.h>
#include <intrins.h>
#include "nRF905.H"
#define uchar unsigned char
#define uint unsigned int

/***************************************************************
           905
*****************************************************************/
/**********SPI发送一个字节*********/
void SpiWrite(unsigned char Dat)
{uchar b,i;
	for(i=1;i<=8;i++)
	{	b=Dat&0x80;
		if(b==0x80)
			MOSI=1;
		else
			MOSI=0;
		Dat<<=1;
		SCK=1;
//		_nop_();_nop_();_nop_();
		SCK=0;
//	_nop_();_nop_();
	}
//	_nop_();_nop_();_nop_();_nop_();
Key_service();
}
/**********SPI读取一个字节*********/
uchar SpiRead(void)
{	uchar i,a=0;
	for(i=1;i<=8;i++)
	{  a<<=1;
		if(MISO==1)
		a|=0x01;
		SCK=1;
       // _nop_();_nop_();
		SCK=0;_nop_();_nop_();
       //_nop_();_nop_();_nop_();_nop_();
	}
	Key_service();
	return(a);
}
void SPI_addrs(uchar addrs)
{
	SCK=0;
	CSN=0;
	SpiWrite(0x22);
	SpiWrite(0xaa);
	SpiWrite(0xaa);
	SpiWrite(0xaa);
	SpiWrite(addrs);
	CSN=1;
}


void SPI_write_some(uchar CMD,uchar *BUF,uchar NUM)
{	uchar b;
	SCK=0;
	CSN=0;
	SpiWrite(CMD);
	while(NUM)
	{	b=*BUF;
		SpiWrite(b);
		BUF++;
		NUM--;
	}
	CSN=1;
}
void SPI_write(uchar CMD,uchar DAT)
{	SCK=0;
	CSN=0;
	SpiWrite(CMD);
    SpiWrite(DAT);
	CSN=1;
}
/*uchar SPI_read(void)
{   uchar a;
    SCK=0;
	CSN=0;
    _nop_();_nop_();
	_nop_();_nop_();
	a=SpiRead();
	_nop_();_nop_();
	CSN=1;
	return(a);
}*/

void SPI_read_some(uchar CMD,uchar *BUF,uchar NUM)
{
	SCK=0;
	CSN=0;
	SpiWrite(CMD);
	while(NUM)
	{   *BUF=SpiRead();
		BUF++;
		NUM--;
	}
	CSN=1;
}


/********mRF905的初始化***********/
void InitnRF905(void)
{
	CSN  	= 1;
	SCK  	= 0;
	PWR_UP  = 1;
	TRX_CE  = 0;
	TX_EN   = 0;


    MISO=1;
	MOSI=1;
	CSN=1;
//	PWR_UP=0;
	TX_EN=0;
	TRX_CE=0;
	SPI_write(0x00,0x4c);//0x6a);
	SPI_write(0x01,0x0c);//0x0c);
	SPI_write(0x02,0x44);
	SPI_write(0x03,0x04);
	SPI_write(0x04,0x04);
	SPI_write(0x05,0xAA);
	SPI_write(0x06,0xAA);
	SPI_write(0x07,0xAA);
	SPI_write(0x08,0x00);
	SPI_write(0x09,0x58);

	//PWR_UP=1;
	TRX_CE=1;
	delay2(2);

}

⌨️ 快捷键说明

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