亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? vfd_drv_ad7312.c

?? OSD顯示,單片機實現,ICCAVR! 代碼風格嚴謹,為高人所寫.我僅為了上傳換取資料
?? C
字號:
/*
** FUNCTION
** polling_vfdr
**
** DESCRIPTION
** check if polling-ready
** 
** history:
** 2004-7-19 15:09
** wanghaoying move the following functio for ht1621 here
*/
void reset_vfd(void)
{
	UINT16 nIndex = 0;

	init_vfd_clear();

	/* display mode ? 13d15s or 6d16s add by chichang 2001/6/6 */
	
	
#ifndef TEST_VFD								//shawn modify at 910131
	regs0->iop_data[VFD_CMD] = VFDC_SET_DISP | VFD_DISPLAY_MODE;	//2001/10/23
#else
	regs0->iop_data[VFD_CMD] = VFDC_SET_DISP | COMMAND_MODE;	//2002/01/31
#endif

	regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
		(FUN_VFD_WRITE | VFD_DAT_LEN0);
	
	//erase_vfd_mem();
	
	WaitIopFunRdy(IOP_RDY_WAIT);
	vfd_set_idle_state(nIndex);
	WaitIopFunRdy(IOP_RDY_WAIT);	
}

void polling_vfdr(void) 
{ 
#ifdef SUPPORT_SPI_QSI
  //not use
#endif


#ifndef  SUPPORT_SPI_QSI

    
#ifdef SUPPORT_VFD

    UINT8   i;
    UINT32  temp;
    UINT32  key_data;
    static UINT8 count = 0;
    static UINT32 key_previ = 0;
    
    static BYTE bWriteState=0;
        
    UINT32 *VfdReadData;
    
    if(regs0->iop_data[0] & FUN_MASK)       return;
       

    if(vfd_state == VFD_READ)
    {
        #ifndef USE_C_IOP//2004-2-12 12:08 lijd     
        VfdReadData = ((UINT32 *) (SDRAM_BASE_UNCACHED + regs0->iopya * 1024 + 0x688));       //fengjl edit 2004-07-02 18:05
        
        //current is read 3 byte on io
        key_data = *VfdReadData & 0x00ffffff;

        *VfdReadData = 0; // Robert 030313

        #else//USE_C_IOP
        key_data =(regs0->iop_data[3]);
        #endif//USE_C_IOP
        
        if(key_data == 0xffffff)
            return;
        if(key_data != key_previ)
        {
            
#ifdef TWO_FUN_IN_ONE_VFD_KEY
            //num_add_flag = 0;   //dingzhy 
            key_previ_temp = key_previ;
#endif //TWO_FUN_IN_ONE_VFD_KEY

            key_previ = key_data;

            if(key_data != 0)
            {
                #ifdef TWO_FUN_IN_ONE_VFD_KEY
                key_press_time_count=0;
                #endif
                                
                for(i = 0; i < 24; i++)
                {
                    temp = 0x01 << i;
                    if(key_data & temp)
                    {
                        if (key_data > temp) // Robert 030224 for preventing illegal key_data
                        {
                            key_data = 0;
                            return;
                        }
                        else
                        {
                            key_data = i + 1;
                            break;
                        }
                    }
                }
                
                save_srn_start_t = get_rtc_val();
                
#ifdef VFD_KEY_TEST
                psprintf(RegionValStr[REGION1], "KEY %02d F:%d", key_data, vfd_keycode[key_data - 1]);
                PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
#else
                if((Is_JPEG_SlideMode()) && (vfd_keycode[key_data - 1] == IRC_PAUSE))
                {
                    //Jeff 20020523
                    bJpgVFDPause = 1;
                }
                else if((Is_JPEG_SlideMode()) &&
                    ((vfd_keycode[key_data - 1] == IRC_PLAY) ||
                    (vfd_keycode[key_data - 1] == IRC_PLAY_SELECT) ||
                    (vfd_keycode[key_data - 1] == IRC_PLAY_RESUME)))
                {
                    //bJpgVFDPause=0;
                    bJpgVFDPause = 2;           //Jeff 20020525
                    PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
                    ircmd_play();//nono 20031210
                }
                else if((Is_JPEG_SlideMode()) &&    //Jeff 20020527
                    (vfd_keycode[key_data - 1] == IRC_PAUSEPLAY))
                {
                    if(bJpgVFDPause == 0)
                    {
                        //bJpgVFDPause = 1;
                        if(play_state == VCD_STATE_PAUSE)   //nono 2-6-28 14:00
                            //bJpgVFDPause = 2;
                            
                        {
                            bJpgVFDPause = 2;
                            PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);//nono 20030804
                            ircmd_play();//nono 20031210
                        }                            
                        else
                            bJpgVFDPause = 1;
                    }
                    else if(bJpgVFDPause == 1)
                    {
                        bJpgVFDPause = 2;
                    }
                }
                else if(key_data<40)
                {
                    extern UINT8 power_on;

                    #ifdef NEXT_FORWARD_IN_A_KEY                    
                    key_data_flag = 1;
                    #endif

                    if(power_on == 2)           //2-6-18 13:36 to avoid accepting a VFD_key in the beginning. 
                    {
                        power_on--;
                        if(key_data != 1)
                        {
#ifdef TWO_FUN_IN_ONE_VFD_KEY                           
                            if((vfd_keycode[key_data-1]!=IRC_NEXT) && (vfd_keycode[key_data-1]!=IRC_PREV))
#endif //TWO_FUN_IN_ONE_VFD_KEY
                            //save_srn_start_t = get_rtc_val();//axel moved to top 2004/2/4 06:13PM
                            call_ir_func(vfd_keycode[key_data - 1]);
                        }
                    }
                    else
                    {
                        //save_srn_start_t = get_rtc_val(); //axel moved to top 2004/2/4 06:13PM
#ifdef USE_VFD_LED_TO_KEY_SOUND_INDICATE        //gerry for PANDA6950,3-8-23 17:19                  
                        write_vfd_led(0);
#elif defined(USE_VFD_LED_TO_KEY_SOUND_INDICATE_HI_ON)      //NONO 2003-10-15 16:14
                        write_vfd_led(0xf);
#endif                      
                    
#ifdef TWO_FUN_IN_ONE_VFD_KEY
                        if((vfd_keycode[key_data-1]!=IRC_NEXT) && (vfd_keycode[key_data-1]!=IRC_PREV))
#endif //TWO_FUN_IN_ONE_VFD_KEY
                        call_ir_func(vfd_keycode[key_data - 1]);
                    }

#ifdef NEXT_FORWARD_IN_A_KEY                    
                    key_data_flag = 0;
#endif//#ifdef NEXT_FORWARD_IN_A_KEY
                }
#endif
        }

        else{
#ifdef TWO_FUN_IN_ONE_VFD_KEY
            if((key_press_time_count>0)&&(key_press_time_count<15))
            {
                if(vfd_keycode[keycode_to_num(key_previ_temp)-1]==IRC_NEXT)
                    call_ir_func(IRC_VFD_NEXT);                 
                else if(vfd_keycode[keycode_to_num(key_previ_temp)-1]==IRC_PREV)
                    call_ir_func(IRC_VFD_PREV);
            }
            key_press_time_count=0;  
#endif //TWO_FUN_IN_ONE_VFD_KEY

#ifdef QISHENG_DVD           
             standby_cnt = 0;
#endif 
           }

        }
#ifdef QISHENG_DVD
        else if ((key_data!=0))
        {
            if(standby_cnt)
            {
                standby_cnt++;
                printf("*");
                if(standby_cnt==50)
                {
                    vfd_state = VFD_WRITE;
                    call_ir_func(IRC_POWER);
                }
            }
        }

#endif      
                
        vfd_state = VFD_WRITE;
    }
    
    else
    {
        update_vfd_data();
#if defined(SUPPORT_APOGEE_AMP) && defined(AMPVOL_ADJUST_TYPE1)//xyy 2004-4-14
        if(full_scrn==APOGEEAMPVOL && timeout_osd[REGION1] == 0)
        {
            full_scrn = 0;
            erase_vfd_mem();
        }
#endif
        //int i;
#ifdef AUTO_INTO_STANDBY   //for tonic dvd//20040206
        //if(play_state==VCD_STATE_STOP||system_state==SYSTEM_NODISC)
        if(system_state==SYSTEM_STOP||system_state==SYSTEM_NODISC||play_state==VCD_STATE_STOP)
        {
            //auto_standby_timer++;
            //if(auto_standby_timer==100*60*30)
            if(auto_standby_timer==100*60*25)
            ircmd_power();
        }
        else
            auto_standby_timer=0;
#endif
        switch (bWriteState)
        {
        case 0:
            //update to reset mode
#ifndef TEST_VFD
            regs0->iop_data[VFD_CMD] = VFDC_SET_DISP | VFD_DISPLAY_MODE;
#else
            regs0->iop_data[VFD_CMD] = VFDC_SET_DISP | COMMAND_MODE;
#endif      
            
            regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                (FUN_VFD_WRITE | VFD_DAT_LEN0);
            
            bWriteState++;
            break;
            
        case 1:
            regs0->iop_data[VFD_CMD] =
                VFDC_DISP_CTRL | VFDC_DISP_CTRL_ON | VFDC_DISP_CTRL_10_16;
            
            regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                (FUN_VFD_WRITE | VFD_DAT_LEN0);
            
            bWriteState++;
            break;

#ifdef  SM1623_DRIVER_VFD
        case 2:             
            
//#if 1
        //update in one polling
            for(i=0;i<VFD_DISPLAY_SIZE;i+=4)       // fengjl upload  3-11-23 17:33
            {
                regs0->iop_data[VFD_CMD] = (0xc0 | i);   // transfer  address   
                if((VFD_DISPLAY_SIZE-i)<=4)//modefied by wangfeng,2003-11-24 10:41
                {
                    regs0->iop_data[VFD_DAT0] = vfd_mem[i + 1] << 8 | vfd_mem[i];
                    regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                    (FUN_VFD_WRITE | VFD_DAT_LEN2);
                }
                else
                {
                    regs0->iop_data[VFD_DAT0] = vfd_mem[i + 1] << 8 | vfd_mem[i];
                    regs0->iop_data[VFD_DAT1] = vfd_mem[i + 3] << 8 | vfd_mem[i + 2];
                    regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                    (FUN_VFD_WRITE | VFD_DAT_LEN4);
                }
                
                WaitIopFunRdy(IOP_RDY_WAIT);
            }           
            vfd_state = VFD_READ;

/*#else//#if 1
            //update by polling 10ms
            regs0->iop_data[VFD_CMD] = (0xc0 | count);
            if(count>=12)
            {
                regs0->iop_data[VFD_DAT0] = vfd_mem[count + 1] << 8 | vfd_mem[count];
            }
            else
            {
                    regs0->iop_data[VFD_DAT0] = vfd_mem[count + 1] << 8 | vfd_mem[count];
                    regs0->iop_data[VFD_DAT1] = vfd_mem[count + 3] << 8 | vfd_mem[count + 2];
            }
            //regs0->iop_data[VFD_DAT2] = vfd_mem[count + 5] << 8 | vfd_mem[count + 4];
            if(count>=12)
            {
                    regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                (FUN_VFD_WRITE | VFD_DAT_LEN2);
            }
            else
            {
                regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                (FUN_VFD_WRITE | VFD_DAT_LEN4);
                
                }
            // transfer data size add by chichang 2001 6/6 
            count += 4;
            if(count >= VFD_DISPLAY_SIZE)
            {
                count = 0;
                vfd_state = VFD_READ;
            }
#endif//#if 1*/
            bWriteState=0;
            break;

#elif defined(GBM_LED6961_PANEL)            //gerry for GBM_LED_PANEL,2004-2-4 22:41
        case 2:             

            for(i=0;i<VFD_DISPLAY_SIZE;i+=2)
            {
                regs0->iop_data[VFD_CMD] = (0xc0 | i);

                regs0->iop_data[VFD_DAT0] = vfd_mem[i + 1] << 8 | vfd_mem[i];
                regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                (FUN_VFD_WRITE | VFD_DAT_LEN2);
                WaitIopFunRdy(IOP_RDY_WAIT);        
            }   
            vfd_state = VFD_READ;   
            bWriteState=0;
            break;

#else//GBM_LED6961_PANEL
            
        case 2:             
            
#if !defined(TP6311_DRIVER_VFD) && !defined(XINGQIU_RECEIVER_PANNEL)    //xyy
            regs0->iop_data[VFD_CMD] = (0xc0 | count);
            regs0->iop_data[VFD_DAT0] = vfd_mem[count + 1] << 8 | vfd_mem[count];
            regs0->iop_data[VFD_DAT1] = vfd_mem[count + 3] << 8 | vfd_mem[count + 2];
            #ifndef SKYWORTH_DVD
            regs0->iop_data[VFD_DAT2] = vfd_mem[count + 5] << 8 | vfd_mem[count + 4];
            #endif
            regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
            #ifndef SKYWORTH_DVD
                (FUN_VFD_WRITE | VFD_DAT_LEN6);
            
            /* transfer data size add by chichang 2001 6/6 */
            count += 6;
            #else
            (FUN_VFD_WRITE | VFD_DAT_LEN4);
            /* transfer data size add by chichang 2001 6/6 */
            count += 4;
            #endif
            
            if(count == VFD_DISPLAY_SIZE)
            {
                count = 0;
                vfd_state = VFD_READ;
            }
#else//#ifndef TP6311_DRIVER_VFD                                                     //marked by xyy 2003-10-31 19:42   
            for(i = 0; i < VFD_DISPLAY_SIZE; i += 6)    //xyy 2003-10-31 19:42
            {
                regs0->iop_data[VFD_CMD] = (0xc0 | i);
                regs0->iop_data[VFD_DAT0] = vfd_mem[i + 1] << 8 | vfd_mem[i];
                regs0->iop_data[VFD_DAT1] = vfd_mem[i + 3] << 8 | vfd_mem[i + 2];
                regs0->iop_data[VFD_DAT2] = vfd_mem[i + 5] << 8 | vfd_mem[i + 4];
                
                regs0->iop_data[0] = (regs0->iop_data[0] & VFD_DATLEN_MASK) |
                    (FUN_VFD_WRITE | VFD_DAT_LEN6);
                
                WaitIopFunRdy(IOP_RDY_WAIT);
            }
            vfd_state = VFD_READ;
#endif//#ifndef TP6311_DRIVER_VFD
            bWriteState=0;
            break;
#endif//#ifdef  SM1623_DRIVER_VFD
        }//write state control
    }
#elif defined(GPIO_KEY_LIGHT)//SUPPORT_VFD nono 3-8-18 14:41
    check_gpio_keylight_status();
#elif defined(USE_VFDPORT_TRANDATA)
    Communication_And_MCU4051();       
#endif//SUPPORT_VFD
#endif//spi qsi
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本亚洲天堂网| 久久精品国产999大香线蕉| 亚洲国产欧美日韩另类综合| 国产亚洲精品超碰| 在线一区二区三区| 中文字幕一区二区三区不卡在线| 国产一区二区三区四区五区入口| 欧美一级在线免费| 国产精品国产三级国产普通话三级| 亚洲色图制服诱惑| 国产一区二区三区蝌蚪| 91在线视频在线| 欧美电视剧免费观看| 综合激情网...| 极品尤物av久久免费看| 99riav一区二区三区| 精品国产人成亚洲区| 一区二区三区在线免费播放| 老司机精品视频一区二区三区| 成人av手机在线观看| 欧美电影一区二区三区| 国产精品免费av| 国产一级精品在线| 在线观看欧美精品| 国产精品国产三级国产三级人妇| 人禽交欧美网站| 欧美日韩久久久| 亚洲精品福利视频网站| 日韩精品中文字幕一区二区三区 | 久久精品国产99国产| 日本丰满少妇一区二区三区| 亚洲国产精品成人综合| 精品一区二区三区久久久| 色综合久久久久久久| 亚洲精品久久久久久国产精华液| 韩国v欧美v亚洲v日本v| 激情综合一区二区三区| 91丨porny丨中文| 日韩综合在线视频| 国产亚洲婷婷免费| 欧美日韩中文字幕精品| 美腿丝袜亚洲色图| 国产精品污污网站在线观看| 91色.com| 国产精品美日韩| 色综合久久久久久久久| 亚洲丝袜另类动漫二区| 777a∨成人精品桃花网| 男男成人高潮片免费网站| 国产亚洲一区二区三区在线观看| 国产经典欧美精品| 亚洲电影你懂得| 日韩午夜在线观看视频| 免费观看成人av| 亚洲素人一区二区| 日韩精品自拍偷拍| 91片黄在线观看| 久久97超碰国产精品超碰| 国产精品网站导航| 日韩一二三四区| 欧美性猛交xxxx黑人交| 成人高清免费观看| 另类的小说在线视频另类成人小视频在线 | 成人av免费在线播放| 国产精品热久久久久夜色精品三区 | 久久亚洲影视婷婷| 欧美日韩aaaaaa| 在线观看视频一区二区欧美日韩| 日av在线不卡| 麻豆精品精品国产自在97香蕉| 怡红院av一区二区三区| 国产精品免费人成网站| 久久一夜天堂av一区二区三区| 欧美日韩精品欧美日韩精品一 | 久久er99热精品一区二区| 樱桃视频在线观看一区| 亚洲欧美一区二区三区国产精品| 久久精品日产第一区二区三区高清版| 日韩欧美在线不卡| 精品久久免费看| 久久人人爽爽爽人久久久| 日韩女优制服丝袜电影| 久久亚区不卡日本| 精品成a人在线观看| 久久久久久免费| 中文字幕亚洲在| 亚洲久草在线视频| 亚洲va天堂va国产va久| 欧美aaaaaa午夜精品| 国产大片一区二区| 99re免费视频精品全部| 欧美性极品少妇| 精品伦理精品一区| 亚洲色图.com| 蜜桃在线一区二区三区| 成人黄色电影在线| 91精品国产综合久久福利| 精品国产伦一区二区三区观看体验| 久久青草欧美一区二区三区| 亚洲欧美经典视频| 久久99热狠狠色一区二区| 激情小说亚洲一区| 美女一区二区在线观看| 欧洲在线/亚洲| 欧美国产精品v| 久99久精品视频免费观看| 99久久国产综合色|国产精品| 欧美群妇大交群的观看方式| 中文字幕一区二区三区色视频| 日韩精品一二三区| 丰满放荡岳乱妇91ww| 欧美一区三区四区| 亚洲一区二区偷拍精品| 成人在线综合网| 久久精品欧美一区二区三区不卡 | 国产蜜臀97一区二区三区| 奇米影视一区二区三区小说| 一本色道久久综合亚洲91| 亚洲国产精品精华液2区45| 久久精品国产亚洲一区二区三区| 欧美系列在线观看| 亚洲一二三四在线| 91精彩视频在线观看| 日韩美女久久久| 在线观看区一区二| 亚洲欧美一区二区视频| 91国偷自产一区二区三区成为亚洲经典 | 久久久久久久久久美女| 国产一区二区在线观看免费| 欧美成人在线直播| 国产成人免费9x9x人网站视频| 久久精品免费在线观看| 成人免费高清视频在线观看| 亚洲欧美一区二区视频| 91国产成人在线| 久久99精品一区二区三区| 精品久久久久久无| av中文字幕在线不卡| 亚洲风情在线资源站| 久久综合av免费| 色妞www精品视频| 日韩综合小视频| 国产精品久久久久久久久免费丝袜| 99精品1区2区| 激情深爱一区二区| 五月婷婷综合激情| 中文字幕欧美激情一区| 精品少妇一区二区三区在线播放 | 亚洲动漫第一页| 337p日本欧洲亚洲大胆精品| 99免费精品在线观看| 97超碰欧美中文字幕| 九九在线精品视频| 午夜视频在线观看一区二区 | 在线国产亚洲欧美| 黄色资源网久久资源365| 亚洲国产欧美在线| 亚洲蜜臀av乱码久久精品| 欧美国产综合一区二区| 精品国产一二三| 久久综合网色—综合色88| 欧美成人乱码一区二区三区| 欧洲日韩一区二区三区| 99re热这里只有精品视频| 国产精品99久| 国产成都精品91一区二区三| 狠狠色综合色综合网络| 免费不卡在线视频| 精品午夜一区二区三区在线观看| 日本最新不卡在线| 麻豆视频一区二区| 91在线丨porny丨国产| 欧美主播一区二区三区美女| 国产在线一区二区综合免费视频| 亚洲精品免费视频| 一区二区三区中文字幕在线观看| 亚洲精品国产一区二区精华液 | 精品成人私密视频| 国产精品家庭影院| 亚洲精品乱码久久久久久日本蜜臀| 26uuu亚洲综合色欧美 | 国产高清亚洲一区| 99精品黄色片免费大全| 欧美日韩精品三区| 久久影视一区二区| 中文字幕一区免费在线观看| 一区二区欧美国产| 久久精工是国产品牌吗| 99久久精品情趣| 日韩欧美一区在线| 一区精品在线播放| 欧美日韩的一区二区| 亚洲精品va在线观看| 免费欧美日韩国产三级电影| 成人精品在线视频观看| 777欧美精品| 亚洲最新在线观看| 丁香婷婷综合激情五月色| 在线电影欧美成精品| 亚洲人午夜精品天堂一二香蕉|