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

📄 get_cmd.c

📁 keil C51编写的的RFM01和RFM02应用程序
💻 C
字号:
//函数声明
#include <reg52.h>
#include "UART_init.h"
//---------------------------------------------------------------------------------------------
//函数名称:get_RF01CSC()
//入口参数:无
//出口参数:RF01CSC(configuration setting command)
//功能描述:接收计算机的发来的接收带宽
//---------------------------------------------------------------------------------------------
unsigned int get_RF01CSC(){
  unsigned int RF01CSC;
  unsigned char i,temp=0;
  for(i=0;i<3;i++){
	temp+=(com_rec()-0x30);
  }
  switch(temp){
	case 4:RF01CSC=0x8982;break;		//receive bandwidth=400kHz
	case 7:RF01CSC=0x8984;break;		//bandwidth=340kHz
	case 9:RF01CSC=0x8986;break;		//bandwidth=270kHz
	case 2:RF01CSC=0x8988;break;		//bandwidth=200kHz
	case 8:RF01CSC=0x898a;break;		//bandwidth=134kHz
	case 13:RF01CSC=0x898c;break;		//bandwidth=67kHz	
	default: break;
  }
  while(com_rec()!=0x0d);
  com_send(0x0a);
  return(RF01CSC); 
}

//---------------------------------------------------------------------------------------------
//函数名称:get_RF01FSC()
//入口参数:无
//出口参数:RF01FSC
//功能描述:getting the frequency command from the com
//---------------------------------------------------------------------------------------------
unsigned int get_RFFSC(){
  unsigned int RFFSC;
  unsigned char i;
  unsigned int temp[4];
  for(i=0;i<4;i++){
	//if(com_rec()==0x27) break;
    temp[i]=(com_rec()-0x30);
  }
  RFFSC=temp[0]*10*10*10+temp[1]*10*10+temp[2]*10+temp[3];
  RFFSC=0xa000|RFFSC;
  while(com_rec()!=0x0d);
  com_send(0x0a);
  return(RFFSC);
}
//---------------------------------------------------------------------------------------------
//函数名称:get_RF01DRC()
//入口参数:无
//出口参数:DRC
//功能描述:getting the data rata command from the com
//---------------------------------------------------------------------------------------------
unsigned int get_RFDRC(){
  unsigned int RFDRC;
  unsigned char i;
  unsigned char temp[3];		//data buffer
  for(i=0;i<3;i++)
	temp[i]=(com_rec()-0x30);		//将接受到的ASIC字符转换成数字
  RFDRC=temp[0]*10*10+temp[1]*10+temp[2];
  RFDRC=0xc800|RFDRC;		//组合成命令
  while(com_rec()!=0x0d);
  com_send(0x0a);
  return(RFDRC);
}

//---------------------------------------------------------------------------------------------
//函数名称:get_RF02CSC()
//入口参数:无
//出口参数:RF02CSC(configuration setting command)
//功能描述:接收计算机的发来的接收带宽
//---------------------------------------------------------------------------------------------
unsigned int get_RF02CSC(){
  unsigned int RF02CSC,m=0;
  unsigned char i,temp[3];
  for(i=0;i<3;i++){
	temp[i]=com_rec();
  }
  m=temp[0]&0x0f;
  m=m<<4;
  m=m|(temp[1]&0x0f);
  m=m<<4;
  m=m|(temp[2]&0x0f);
  switch(m){
	case 0x30: RF02CSC=0x8870;break;		//频偏30kHz
	case 0x60: RF02CSC=0x8871;break;		//频偏60kHz
	case 0x90: RF02CSC=0x8872;break;		//频偏90kHz
	case 0x120:RF02CSC=0x8873;break;		//频偏120kHz
	case 0x150:RF02CSC=0x8874;break;		//频偏150kHz
	case 0x180:RF02CSC=0x8875;break;		//频偏180kHz
	case 0x210:RF02CSC=0x8876;break;		//频偏210kHz
	default: break;
  }
  while(com_rec()!=0x0d);
  com_send(0x0a);
  return(RF02CSC); 
}

/*
//---------------------------------------------------------------------------------------------
//函数名称:get_RF02FSC()
//入口参数:无
//出口参数:RF02FSC
//功能描述:getting the frequency command from the com
//---------------------------------------------------------------------------------------------
get_RF02FSC(){
  unsigned int RF02FSC;
  unsigned char i;
  unsigned int temp[4];
  for(i=0;i<4;i++)
    temp[i]=(com_rec()-0x30);
  RF02FSC=temp[0]*10*10*10+temp[1]*10*10+temp[2]*10+temp[3];
  RF02FSC=0xa000|RF02FSC;
  while(com_rec()!=0x2c);
  return(RF02FSC);
}
//---------------------------------------------------------------------------------------------
//函数名称:get_RF02DRC()
//入口参数:无
//出口参数:DRC
//功能描述:getting the data rata command from the com
//---------------------------------------------------------------------------------------------
get_RF02DRC(){
  unsigned int RF02DRC;
  unsigned char i;
  unsigned char temp[3];		//data buffer
  for(i=0;i<3;i++)
	temp[i]=(com_rec()-0x30);		//将接受到的ASIC字符转换成数字
  RF02DRC=temp[0]*10*10+temp[1]*10+temp[2];
  RF02DRC=0xc800|RF02DRC;		//组合成命令
  while(com_rec()!=0x2c);
  return(RF02DRC);
}
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -