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

📄 用io口模拟ir代码.c

📁 在板与板之间常用到的通信
💻 C
字号:

void   Delay10us(WORD uctemp)// 0.56ms
{  
	while( uctemp --)
		{
	        Delay3us();
	        Delay3us();
	        Delay5us();
		}
}

void SendByteData(BYTE ucValue)
{
           BYTE cnt;
            for(cnt=0;cnt<8;cnt++)
		   {
		   PNL0=0;
		  Delay10us(56);// 0.56ms
		  PNL0=1;	   
		  
		if(ucValue&_BIT0)
		Delay10us(168); // "1"  2.25ms-0.56ms=1.69ms  
		else
		Delay10us(56);  //"0"  0.56ms 
		    
		ucValue=ucValue>>1;
		   }

}

void Trs2DVDIrSend(BYTE IRData)
{
    gmi_CStopIR();

                 PNL0=0;	   
		  Delay10us(900);// 0.56ms
                PNL0=1;
		  Delay10us(450);// 0.56ms
		  
		SendByteData(0x00);  // DVB HEADER_CODE0 
		SendByteData(0xFB);  // DVB HEADER_CODE1 

		SendByteData(IRData);
		SendByteData(~IRData); 
		   PNL0=0;
			Delay10us(56); 
		   PNL0=1;
			
    gmi_CStartIR(); 
}

void ProssMCU2DVDkeyHandle(BYTE Keycode)
{
   switch(Keycode)
   {
     case KEY_0:
	 Trs2DVDIrSend(0x00); // DVD_KEY0
	break;
     case KEY_1:
	 Trs2DVDIrSend(0x01); //DVD_KEY1
	break;
     case KEY_2:
	 Trs2DVDIrSend(0x02); // DVD_KEY2
	break;
     case KEY_3:
	 Trs2DVDIrSend(0x03); // DVD_KEY3
	break;
     case KEY_4:
	 Trs2DVDIrSend(0x04); // DVD_KEY4
	break;
     case KEY_5:
	 Trs2DVDIrSend(0x05); // DVD_KEY5
	break;
     case KEY_6:
	 Trs2DVDIrSend(0x06); // DVD_KEY6
	break;
     case KEY_7:
	 Trs2DVDIrSend(0x07); // DVD_KEY7
	break;
     case KEY_8:
	 Trs2DVDIrSend(0x08); // DVD_KEY8
	break;
     case KEY_9:
	 Trs2DVDIrSend(0x09); //DVD_KEY9
	break;

     case KEY_POWER:
      Trs2DVDIrSend(0x1f); //DVD POWER MEMORY DISC CONTENT.
	 break;
    case KEY_DVD_EJECT:
	 Trs2DVDIrSend(0x0a); // Open/Close
	break;
     case KEY_RECALL:
	 Trs2DVDIrSend(0x1a); //Playing Repeat
	break;
     case KEY_MTS:
	 Trs2DVDIrSend(0x34); //L/R Channel switch
	break;
     case KEY_DVD_MENU:
	 Trs2DVDIrSend(0x32); // Root Menu
	break;
     case KEY_TTX_MIX:
	 Trs2DVDIrSend(0x18); //Display Playing Infor.
	break;
     case KEY_PIP:
	 Trs2DVDIrSend(0x19);// Repeat A-B
     case KEY_REPEAT:
	 Trs2DVDIrSend(0x1a);// Repeat A-B
	break;
     case KEY_UP:
	 Trs2DVDIrSend(0x21); //DVD_UP
	break;
     case KEY_DOWN:
	 Trs2DVDIrSend(0x22); // DVD_DOWN
	break;
     case KEY_LEFT:
	 Trs2DVDIrSend(0x23); //DVD_LEFT
	break;
     case KEY_RIGHT:
	 Trs2DVDIrSend(0x24);// DVD_RIGHT
	break;
     case KEY_DVD_SLOW:
	 Trs2DVDIrSend(0x0c);  // RESERVE.
	break;
     case KEY_TTX_LIST:
	 Trs2DVDIrSend(0x35); // USB PORT SELET
	break;
     case KEY_TTX:
	 Trs2DVDIrSend(0x2a); // DVD Play/Pause
	break;
     case KEY_TTX_HOLD:
	 Trs2DVDIrSend(0x12); // DVD Stop
	break;
     case KEY_TTX_CANCEL:
	 Trs2DVDIrSend(0x13); // DVD Sound Language Switch.
	break;
     case KEY_TTX_INDEX:
	 Trs2DVDIrSend(0x31); // DVD Setup
	break;

     case KEY_MENU:
	 Trs2DVDIrSend(0x36); // DVD EXIT Setup Menu
	break;
     case KEY_TTX_SUBTITLE:
	 Trs2DVDIrSend(0x2b); //DVD_SubTitle 
	break;
   case KEY_DVD_SELECT:
	 Trs2DVDIrSend(0x2e); //DVD_SELECT
	break;
     case KEY_TTX_SIZE:
	 Trs2DVDIrSend(0x2f); //Title Menu
	break;
     case KEY_TTX_REVEAL:
	 Trs2DVDIrSend(0x1c); //GOTO ???÷??·?
	break;
     case KEY_TTX_RED:
	 Trs2DVDIrSend(0x16); // Prev Title
	break;
     case KEY_TTX_GREEN:  
	 Trs2DVDIrSend(0x17); // Next Title
	break;
     case KEY_TTX_YELLOW:
	 Trs2DVDIrSend(0x14); // Backward
	break;
     case KEY_TTX_CYAN:
	 Trs2DVDIrSend(0x15); // Forward
	break;
	default:
	break;
   }
}
#endif

⌨️ 快捷键说明

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