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

📄 rxc.c

📁 红外信号测试软件
💻 C
字号:
#include "..\gloableh.h"
#include "rxh.h"
RXSTRUCT Rx;
void RfRx(void)
{
	Rx.State=0;
	Rx.Timer=0;
	while(1){
		if(Rx.State>3) break;
		switch(Rx.State){
			case 0:
				if(RxBit){
					Rx.Timer +=GetTimer();
					if(Rx.Timer>5000) Rx.State=5;
					 break;
				}
				Rx.State++;
				Rx.Timer=0;
				Rx.un.ul0=0;
				GetTimer();
				break;
			case 1:
				Rx.Timer +=GetTimer();
				if(RxBit){
					if(Rx.Timer>MINLOWTIME){
						Rx.State=2;
						Rx.Count=24;
						Rx.Timer=0;
						GetTimer();
						break;
					}
					Rx.State=0;
					break;
				}
				if(Rx.Timer>MAXLOWTIME) Rx.State=5;
				break;
			case 2:
				Rx.Timer+=GetTimer();
				if(RxBit) break;
#if 0				
				if(Rx.Timer<MINPULSELOWTIME){
					Rx.State=5;
					break;
				}
#endif				
				if(Rx.Timer>MAXPULSEHIGHTIME){
					Rx.State=5;
					break;
				}
				if(Rx.Timer>MINPULSEHIGHTIME){
					Rx.un.ul0 |=1;
				}
				
				Rx.Timer=0;
				Rx.State=3;
				Rx.Count--;
				if(Rx.Count){
					Rx.un.ul0<<=1;
					break;
				}
				Rx.State=4;
				break;
			case 3:
				if(RxBit){
					Rx.State=2;
					Rx.Timer=0;
					GetTimer();
					break;
				}
				Rx.Timer +=GetTimer();
				if(Rx.Timer>MAXPULSEHIGHTIME) Rx.State=5;
				break;
			case 4:
				break;
			case 5:
				break;
		}
	}
}

⌨️ 快捷键说明

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