📄 rf.c
字号:
#include "hal.h"
#include "cul.h"
#include "lcd.h"
#define ADDRESS_0 0x01
#define ADDRESS_1 0x02
#define SEND 0
#define RECEIVE 1
#define RECEIVE_TIMEOUT 1200
uint8 RxTxState;
void initRf(void);
void SendMode(void);
void ReceiveMode(void);
void initUART(void);
void main(void)
{
INIT_GLED();
INIT_YLED();
initLcd();
initRf();
INT_GLOBAL_ENABLE(INT_ON); // Turning on interrupts
while(1)
{
if(RxTxState == RECEIVE)
{
ReceiveMode();
}
else
{
SendMode();
}
STOP_RADIO();
CLR_GLED();
CLR_YLED();
}
}
void initRf(void)
{
SET_MAIN_CLOCK_SOURCE(CRYSTAL);
RxTxState = SEND;
radioInit(2405000, ADDRESS_0);
}
void SendMode(void)
{
byte sendBuffer[] = {0x01, 0x02, 0x03, 0x04, 0x05};
bool res;
res = radioSend(sendBuffer, sizeof(sendBuffer), ADDRESS_0, DO_ACK);
if(res == TRUE)
{
lcdUpdateLine(LINE1, (char *)"OK!");
}
else
{
lcdUpdateLine(LINE1, (char *)"Failed...");
}
waitVisible(CLEARLY_VISIBLE);
}
void ReceiveMode(void)
{
byte *receiveBuffer;
byte length;
byte res;
byte sender;
while(1)
{
res = radioReceive(&receiveBuffer, &length, RECEIVE_TIMEOUT, &sender);
if(res == TRUE)
{
lcdUpdateLine(LINE1,(char *)receiveBuffer);
}
else
{
lcdUpdate((char *)"Waiting",(char *)"");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -