基于430单片机的NRF905收发驱动程序
#include "BaseType.h"
#include
#include
#define WaitKeyDw
100
#define WaitKeyUp
101
#define KeyDwTimes
30
#define WRC 0x00 //W_RF_CONFIG
#define RRC 0x10 //R_RF_CONFIG
#define WTP 0x20 //W_TX_PAYLOAD
#define RTP 0x21 //R_TX_PAYLOAD
#define WTA 0x22 //W_TX_ADDRESS
#define RTA 0x23 //R_TX_ADDRESS
#define RRP 0x24 //R_RX_PAYLOAD
#define RAD 0x40 //R_ADC_DATA
#define WAC 0x44 //W_ADC_CONFIG
#define RAC 0x46 //R_ADC_CONFIG
#define WTU 0x50 //W_TEST_UNLOCK (use with data A5)
#define WTR 0x52 //W_TEST_REGISTER
#define RTR 0x53 //R_TEST_REGISTER
#define CC 0x80 //CHANNEL_CONFIG
#define SAV 0xC0 //START_ADC_CONV
#define HFREQ 1 // 0=433MHz, 1=868/915MHz
#define POWER 3 // 0=min power...3 = max power
#define RFTxLen 16 //射频发送绶冲区长度
#define RFRxLen 16 //射频接收绶冲区长度
#define INT8U unsigned char
#define INT16U unsigned int
#define _nop_() _NOP()
INT8U Nrf9e5Config[10] = {
0x6B, //频道设置
0x0C, //自动重发关,发送节电模式关,输出功率10dB,433.1MHZ
0x44, //收发地址都为4字节
RFRxLen, //接收数据长度,10字节
RFTxLen, //发送数据长度,10字节
0xE7,
0xE7,
0xE7,
0xE7, //地址
0xDF //16位校验,CRC开,16M晶振,外部时钟使能500KHZ输出
};
INT8U RFRxBuf[RFRxLen+2]; //射频接收缓冲区
INT8U RFTxBuf[RFTxLen+2]; //射频接收缓冲区
U32 CntTmp;
void PORT_Init(void)
{
}
void SPI_Init(void)
{
}
void Init_CLK(void)
{
unsigned int i;
}
void Delay_ms(unsigned long nValue)//毫秒为单位,8MHz为主时钟
{
unsigned long nCount;
int i;
unsigned long j;
}
void Delay_us(unsigned long nValue)//微秒为单位,8MHz为主时钟
{
int nCount;
int i;
int j;
}
void delay(INT16U s)
{
}
void SpiWriteByte(INT8U dat)
{
//
while ((IFG1 & UTXIFG0)==0x0);
}
INT8U SpiReadByte(void)
{
//INT8U temp;
//
while((IFG1 & URXIFG0)==0);
//
temp=U0RXBUF;
//
return temp;
}
void INIT_905(void)
{
INT8U i;
//
while ((IFG1 & UTXIFG0)==0x0);
}
void TransmitBytes(void)
{
INT8U i;
//
while ((IFG1 & UTXIFG0)==0x0);
//
while ((IFG1 & UTXIFG0)==0x0);
}
INT8U Recepacket(void)
{
INT8U i;
}
void ChangeMode(U8 mode)
{
//
delay(2);
评论