微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于430单片机的NRF905收发驱动程序

基于430单片机的NRF905收发驱动程序

时间:11-27 来源:互联网 点击:

_EINT();//打开中断

///

CE905_0; //ce905=0

SpiWriteByte(RRC);

for(i=0; i

{

RFRxBuf[i] = SpiReadByte();

}

CE905_1; //CE_905 = 1

///

ChangeMode(RXMode); //////

K1Sta = K2Sta = WaitKeyDw;

while(1)

{

if(DR905)

{

RF905_Read(RRP, RFRxBuf);

switch(RFRxBuf[0])

{

case 0x01:

LED1_BLK;

break;

case 0x02:

LED2_BLK;

break;

}

}

switch(K1Sta)

{

case WaitKeyDw:

if(K1DwCnt > (KeyDwTimes -1))

{

ChangeMode(TXMode);

K1Sta = WaitKeyUp;

delay(3100);

RFTxBuf[0] = 0x01;

RF905_Write(WTP, RFTxBuf); //////

ChangeMode(TXData);

delay(650); /// ensure nRF905 have began TX ///

ChangeMode(RXMode); //////

}

break;

case WaitKeyUp:

if(K1DwCnt == 0)

K1Sta = WaitKeyDw;

break;

}

switch(K2Sta)

{

case WaitKeyDw:

if(K2DwCnt > (KeyDwTimes -1))

{

ChangeMode(TXMode);

K2Sta = WaitKeyUp;

delay(3100);

RFTxBuf[0] = 0x02;

RF905_Write(WTP, RFTxBuf); //////

ChangeMode(TXData);

delay(650); /// ensure nRF905 have began TX ///

ChangeMode(RXMode); //////

}

break;

case WaitKeyUp:

if(K2DwCnt == 0)

K2Sta = WaitKeyDw;

break;

}

// TransmitBytes(); //发送缓冲区里的数据

// LED1_ON;

// delay(20000);

// LED1_OFF;

// delay(20000);

// _NOP();

}

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top