📄 main._c
字号:
/****************************************************/
/* Application note */
/* Reference design : CC1100 RF Test Board */
/* File: Main.c */
/* Revision: 1.0 */
/* Description: */
/* Microcontroller:ATmega48/48V */
/* Author: Zcg, Field Applications Engineer, SunRay*/
/****************************************************/
#include "iom88v.h"
#include "macros.h"
#include "main.h"
#include "CC1100.h"
#include "board.h"
#include "simpleio.h"
void main (void)
{
INT8U i;
InitSys(); //初始化变量、寄存器等
while (1)
{
if ((RFSendFlg == TRUE) && (RFState == CC1100_RX_STATE))//串口接收到
{
RFSendFlg = FALSE; //串口接收完一包数据,准备射频发送
RF_SendPacket(UartReceive_Buf,RFSendCnt);
RFSendCnt = 0;
}
if ((RFReceiveFlg == TRUE) && ((UCSR0B & (BIT(UDRIE0))) == 0))
{
RFReceiveFlg = FALSE; //射频接收完一包数据,准备处理
RFReceiveCnt = 0;
Beep_Flag=TRUE;
BEEP_ON();
printf("RF Recved...");
if( RFReceive_Buf[0]=='S'&&
RFReceive_Buf[1]=='e'&&
RFReceive_Buf[2]=='n'&&
RFReceive_Buf[3]=='d' )
{
DIS_RX(); //禁止串口接收
DIS_RX_INT(); //禁止串口接收中断
Test_RFTx_Buf[0]='R';
Test_RFTx_Buf[1]='e';
Test_RFTx_Buf[2]='c';
Test_RFTx_Buf[3]='v';
for(i=0;i<MAX_DATA_TEST-4-1;i++)
{
Test_RFTx_Buf[i+4]='0'+i;
}
Test_RFTx_Buf[MAX_DATA_TEST-1]='\n';//
#ifdef DEBUG
printf("Test call\n");
printf("Test answer!\n");
#endif
RF_SendPacket(Test_RFTx_Buf, MAX_DATA_TEST);//应答返回
}
else
{
Uart_SendPacket();//发送串口
}
}
if (CC1100IntLFlg == TRUE)//CC1100接收、发送中断
{
CC1100IntLFlg = FALSE;
RF_ReceivePacket();
}
if((Key_Scan()==TRUE) && CC1100IntHFlg==FALSE && CC1100IntLFlg==FALSE)
{
DIS_RX(); //禁止串口接收
DIS_RX_INT(); //禁止串口接收中断
Test_RFTx_Buf[0]='S';
Test_RFTx_Buf[1]='e';
Test_RFTx_Buf[2]='n';
Test_RFTx_Buf[3]='d';
for(i=0;i<MAX_DATA_TEST-4-1;i++)
{
Test_RFTx_Buf[i+4]='0'+i;
}
Test_RFTx_Buf[MAX_DATA_TEST-1]='\n';
#ifdef DEBUG
printf("Key Send To RF!\n");
#endif
RF_SendPacket(Test_RFTx_Buf, MAX_DATA_TEST);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -