⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main._c

📁 chipcom公司CC1100无线模块底层驱动程序
💻 _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 + -