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

📄 ir.h

📁 基本STC4052写的一个小的OS, 完成了任务调度功能,及堆栈空间切换, 及中断处理
💻 H
字号:
//---------------------------------------------------------------
//      
//       Copyright (c) 2006-2007 E-compass electronic Co.,Ltd.               
//       All Right Reserved.                                     
//                                                               
//       $Author    walnutcy
//       $Email     walnutcy@gmail.com              
//       $Version   v1.0  
//       $FileName                                       
//       $Since                                            
//       $Log                                                    
//                                                               
//       DESCRIPTION   
//
//		 History:         
//		 <author>          <time>     <version >    <desc> 
//---------------------------------------------------------------

#ifndef _IR_H
#define _IR_H

#include "..\includes.h"

/***************************************************
**	if input :12MHz, the the period is 1 us;	  **
**												  **
**  "0": 560 + 565  = 1125				    	  **
**	"1": 560 + 1690 = 2250				    	  **
**  "Leader Code": 9000 + 4500 = 13500	    	  **
**	"Keep Depressed": 9000 + 2250 = 11250		  **
**  the received waveform:						  **
**      ____        __     __          __  		  **
**  ...     |______|  |___|  |________|  |___...  **
**												  **
**               11.0592MHz						  **
**   PROCESSOR_CYCLE : 12 / 11.0592 = 1.08507 us  **  
****************************************************/

#define NUM0_MIN    (U16)(600 * PROCESSOR_CYCLE)  
#define NUM0_MAX    (U16)(1600 * PROCESSOR_CYCLE) 

#define NUM1_MIN    (U16)(1700 * PROCESSOR_CYCLE) 
#define NUM1_MAX    (U16)(2900 * PROCESSOR_CYCLE) 

#define LEAD_MIN    (U16)(12500 * PROCESSOR_CYCLE) 
#define LEAD_MAX    (U16)(14500 * PROCESSOR_CYCLE) 

#define KEEP_MIN    (U16)(10500 * PROCESSOR_CYCLE) 
#define KEEP_MAX    (U16)(12000 * PROCESSOR_CYCLE) 

#define NUM0_LOW    (U16)(560  * PROCESSOR_CYCLE) 
#define NUM0_HIGH   (U16)(565  * PROCESSOR_CYCLE) 

#define NUM1_LOW    (U16)(560  * PROCESSOR_CYCLE) 
#define NUM1_HIGH   (U16)(1690 * PROCESSOR_CYCLE) 

#define LEAD_LOW    (U16)(9000 * PROCESSOR_CYCLE) 
#define LEAD_HIGH   (U16)(4500 * PROCESSOR_CYCLE) 

//#define _BIG_END  // Receive sequence : rev<--|7|6|5|4|3|2|1|0|...... ; big first
/*************************************************/

#define	IR_INVALID          0 // have not received
#define	IR_VALID	        1 // have received
#define	IR_KEEP_DEPRESSED	2 // keep depressed

/////////////////////////////////////
/////////////////////////////////////
extern U8 gu8IRState;
// function ....
#define IR_GetRevState()  (gu8IRState)

GLOBAL_EXT void IR_Init() REENTRANT; // initialize system interrupt
GLOBAL_EXT U8 IR_GetRevData(U8* buf) REENTRANT;// get received data

GLOBAL_EXT void IR_Decode() REENTRANT;




// function end


#endif


⌨️ 快捷键说明

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