?? nrf905.c
字號(hào):
//此程序沒(méi)有加接收反回指令
//
#include <reg52.h>
#include <intrins.h>
#include "nRF905.H"
#define uchar unsigned char
#define uint unsigned int
/***************************************************************
905
*****************************************************************/
/**********SPI發(fā)送一個(gè)字節(jié)*********/
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讀取一個(gè)字節(jié)*********/
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);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -