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

📄 input.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 4 页
字号:
        }        else if (bIRINT & IR_INT_REPEAT) //repeat code        {            bData = (BYTE)(dwData & 0x000000ff);#ifdef   SHOW_IR_MAP            printf("IR Repeat Code = %2x\n", bData);#endif            bIRstage = IR_INT_REPEAT;        }        else //IR_INT_INVALID        {            bData = 0xFF;            bIRstage = IR_STAGE_IDLE;               }    }    if ( bData < _IRInfo.bIRMapSize)    {        return _IRInfo.aIRMap[bData];    }    else    {        return KEY_NO_KEY;    }/* Alan2.05    if ( bData < (sizeof(aIRMap)/sizeof(BYTE)) )        return aIRMap[bData];    else        return KEY_NO_KEY;*/}#endif  // #if (IR_CODE_TYPE == HW_NEC)#if (IR_CODE_TYPE == SW_KONKA)VOID   INPUT_SW_IR_Detect(VOID){    #define FALLING_EDGE   0x00000020    #define RISING_EDGE    0x00000010    extern cyg_handle_t    __ClockHandle;    DWORD dwTemp;    DWORD dwTemp1;    // get the system timer when enter interrupt    dwTemp= (DWORD) cyg_counter_current_value(__ClockHandle); //UTL_GetSysTimer();    // printf("sys timer=%lx \n", dwTemp);        //dwTemp1 = (dwTemp-_dwTimeISRKeyPrev2);                      dwTemp1  =  REG_PLAT_IR_COUNTER;                              switch(bIRStep)                                                                             {                                                                                            case 0:                                                                                                         if(REG_PLAT_IR_STATUS & RISING_EDGE)   //rising todo                                                                          break;                                                             else          goto INVALID_IR;                                                                                                                                                                     case 1:                                                                                                    if((dwTemp-_dwTimeISRKeyPrev2)==3 && (REG_PLAT_IR_STATUS & FALLING_EDGE))                                break;                                                                                    else                                                                                                 goto INVALID_IR;                                                                                                                                                                                     case 2:                                                                                                     if((dwTemp-_dwTimeISRKeyPrev2)==3 &&(REG_PLAT_IR_STATUS & RISING_EDGE))                               break;                                                                                      else                                                                                                 goto INVALID_IR;                                                                                                                                                                                     case 3:                                                                                                   if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // customer code MSB 8                                    return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x80;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x80;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR;                                                                                        break;                                                                                                                                                                                           case 4:                                                                                                   if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 7                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x40;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x40;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                 break;                                                                                                                                                                                         case 5:                                                                                                   if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 6                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x20;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x20;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                       case 6:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 5                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x10;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x10;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                       case 7:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 4                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x08;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x08;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                       case 8:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 3                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x04;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x04;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                       case 9:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 2                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x02;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x02;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                       case 10:                                                                                                   if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 1                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       _bCustomerCode &= ~0x01;                                                                         }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      _bCustomerCode |= 0x01;                                                                           }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                       case 11:                                                                                                   if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 8         data code start                              return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x80;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x80;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                      case 12:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 7                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x40;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x40;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                  case 13:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 6                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x20;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x20;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                      case 14:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 5                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x10;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x10;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                      case 15:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 4                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x08;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x08;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                                  break;                                                                                                                                                                                      case 16:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 3                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x04;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x04;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                              break;                                                                                                                                                                                      case 17:                                                                                                    if(REG_PLAT_IR_STATUS & FALLING_EDGE)  // 2                                                      return;                                                                                                  if((dwTemp-_dwTimeISRKeyPrev2)==2)  // it is 0                                                     {                                                                                                       bDataCode&= ~0x02;                                                                               }                                                                                             else if((dwTemp-_dwTimeISRKeyPrev2)==3)  // it is 1                                                      {                                                                                                      bDataCode|= 0x02;                                                                                 }                                                                                             else                                                                                                 goto INVALID_IR; // or break?                                                                                                                                                                   

⌨️ 快捷键说明

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