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

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

?? ca6002.c

?? miceteck_MPC860_BSP源碼,基于VXWORK
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ca6002.c - ca6002 hardware access functions,called by main program */
/* ------- Copyright 2000-2003 AllOptic NetWorking Co.,Ltd  --------- */

/*************************************************** 
   DESCRIPTION:                
         GetCa6002State(): 讀寄存器
         SetCa6002Cfsw(): 設光開關狀態
         SetCa6002Laser(): 設激光器狀態
         SetCa6002Switch(): 設交換端口狀態
            
         2003/6/24 ESTABLISHED BY TANG.
 ***************************************************/ 

#include "ca6002.h"

unsigned ca6002_disa1=0,ca6002_disa2=0;
unsigned ca6002_sd1=0,ca6002_sd2=0,ca6002_sd3=0,ca6002_sd4=0;

unsigned CA6002_Pow1AlmLast=0,CA6002_Pow2AlmLast=0,CA6002_OsceAlmLast=0,CA6002_OscwAlmLast=0;
unsigned CA6002_AlosAlmLast1=0,CA6002_DlosAlmLast1=0,CA6002_AfauAlmLast1=0,CA6002_DfauAlmLast1=0;
unsigned CA6002_AlosAlmLast2=0,CA6002_DlosAlmLast2=0,CA6002_AfauAlmLast2=0,CA6002_DfauAlmLast2=0;

/* 讀寄存器函數 */
unsigned GetCa6002State ( unsigned short RegNum )  /* RegNum為寄存器號 */
{
    unsigned Value=0,RetValue=0;             /* RetValue低8位為寄存器值 */
    if((RegNum>=0)&(RegNum<=12))
    {  
    	switch( RegNum )
        {
            case CA6002_REG_EQU_INF:	
                 RetValue = *CA6002_POI_EQU_INF >> 24;
                 break;
            case CA6002_REG_BOD_INF:	
                 RetValue = *CA6002_POI_BOD_INF >> 24;
                 break;  
            case CA6002_REG_OT1_TYP:	
                 RetValue = *CA6002_POI_OT1_TYP >> 24;
                 break; 
            case CA6002_REG_OT2_TYP:	
                 RetValue = *CA6002_POI_OT2_TYP >> 24;
                 break;
            case CA6002_REG_SYS_ALM:	
                 Value = *CA6002_POI_SYS_ALM >> 24;
                 RetValue = Value;
                 if(((Value&0x80)^CA6002_Pow1AlmLast)&CA6002_Pow1AlmLast) RetValue |= 0x40;
                 if(((Value&0x20)^CA6002_Pow2AlmLast)&CA6002_Pow2AlmLast) RetValue |= 0x10;
                 CA6002_Pow1AlmLast = (Value & 0x80); 
                 CA6002_Pow2AlmLast = (Value & 0x20);                     
                 break;
            case CA6002_REG_OT1_ALM:	
                 Value = *CA6002_POI_OT1_ALM >> 24;
                 RetValue = Value;                 
                 if(((Value&0x80)^CA6002_AlosAlmLast1)&CA6002_AlosAlmLast1) RetValue |= 0x08;
                 if(((Value&0x40)^CA6002_DlosAlmLast1)&CA6002_DlosAlmLast1) RetValue |= 0x04;
                 if(((Value&0x20)^CA6002_AfauAlmLast1)&CA6002_AfauAlmLast1) RetValue |= 0x02;
                 if(((Value&0x10)^CA6002_DfauAlmLast1)&CA6002_DfauAlmLast1) RetValue |= 0x01;
                 CA6002_AlosAlmLast1 = (Value & 0x80);
                 CA6002_DlosAlmLast1 = (Value & 0x40);
                 CA6002_AfauAlmLast1 = (Value & 0x20);
                 CA6002_DfauAlmLast1 = (Value & 0x10);                          
                 break;
            case CA6002_REG_OT2_ALM:	
                 Value = *CA6002_POI_OT2_ALM >> 24;
                 if(((Value&0x80)^CA6002_AlosAlmLast2)&CA6002_AlosAlmLast2) RetValue |= 0x08;
                 if(((Value&0x40)^CA6002_DlosAlmLast2)&CA6002_DlosAlmLast2) RetValue |= 0x04;
                 if(((Value&0x20)^CA6002_AfauAlmLast2)&CA6002_AfauAlmLast2) RetValue |= 0x02;
                 if(((Value&0x10)^CA6002_DfauAlmLast2)&CA6002_DfauAlmLast2) RetValue |= 0x01;
                 CA6002_AlosAlmLast2 = (Value & 0x80);
                 CA6002_DlosAlmLast2 = (Value & 0x40);
                 CA6002_AfauAlmLast2 = (Value & 0x20);
                 CA6002_DfauAlmLast2 = (Value & 0x10);                                 
                 break;
            case CA6002_REG_OSC_ALM:	
                 Value = *CA6002_POI_OSC_ALM >> 24;
                 RetValue = Value;
                 if(((Value&0x80)^CA6002_OsceAlmLast)&CA6002_OsceAlmLast) RetValue |= 0x40;
                 if(((Value&0x20)^CA6002_OscwAlmLast)&CA6002_OscwAlmLast) RetValue |= 0x10;
                 CA6002_OsceAlmLast = (Value & 0x80); 
                 CA6002_OscwAlmLast = (Value & 0x20);                       
                 break;
            case CA6002_REG_OSW_STA:	
                 RetValue = *CA6002_POI_OSW_STA >> 24;
                 break;
            case CA6002_REG_LAS_STA:
                 RetValue = *CA6002_POI_LAS_STA >> 24;
                 break;
            case CA6002_REG_SWI_STA:
                 RetValue = *CA6002_POI_SWI_STA >> 24;
                 break;
            case CA6002_REG_SYS_LED:
                 RetValue = *CA6002_POI_SYS_LED >> 24;
                 break;
            case CA6002_REG_OTU_LED:
                 RetValue = *CA6002_POI_OTU_LED >> 24;
                 break;
        }    
    }
    else RetValue = 0xFF;            /* 若出錯,返回全1 */
    return ( RetValue );             
}

/* 延時函數 */
void SwitchTime( void )
{
    unsigned int i,j;
    for(j=0;j<1;j++)
    {
    	for(i=0;i<500;i++);
/*	
        for(i=0;i<10000;i++);
        for(i=0;i<10000;i++);
        for(i=0;i<10000;i++);
        for(i=0;i<10000;i++);                
*/
    }
}

/* 光開關控制函數 */
unsigned short SetCa6002Cfsw ( unsigned short Value )
/*
unsigned short RegNum;
*/
{

unsigned short reg;

#define SET_STA_OSW1 ( RegOswSta = RegOswSta|0x01 )
#define SET_SEL_OSW1 ( RegOswSta = RegOswSta|0x02 )
#define SET_STA_OSW2 ( RegOswSta = RegOswSta|0x04 )
#define SET_SEL_OSW2 ( RegOswSta = RegOswSta|0x08 )

#define CLR_STA_OSW1 ( RegOswSta = RegOswSta&0x0e )
#define CLR_SEL_OSW1 ( RegOswSta = RegOswSta&0x0d )
#define CLR_STA_OSW2 ( RegOswSta = RegOswSta&0x0b )
#define CLR_SEL_OSW2 ( RegOswSta = RegOswSta&0x07 )

unsigned short RegOswSta;

unsigned short WavSel;
unsigned short ModSel;
unsigned short ModSet;

if((Value>=0)&(Value<=7))
{
  /* 解析信息位 */  
  WavSel = ((Value & 0x04) >> 2);            /* 波長選擇位 */
  ModSel = ((Value & 0x02) >> 1);            /* 模式選擇位 */
  ModSet = (Value & 0x01);                   /* 模式設置位 */
/*
printf("%d,%d,%d\n",WavSel,ModSel,ModSet);
*/
  /* 得到當前光開關狀態 */
  RegOswSta = GetCa6002State(CA6002_REG_OSW_STA);   
/*
printf("%d\n",RegOswSta);       
*/
  /* 邏輯處理 */
  if(WavSel==0)                                 /* 波長1 */
  {
      if(ModSel==0)                             /* 設置開關模式 */
          {

             if(ModSet==1)                      /* 手動 */
                 {               
                    SET_SEL_OSW1;
/*
printf("%d\n",RegOswSta); 
*/
                    *CA6002_POI_OSW_STA = RegOswSta<<8;
                    
                    SwitchTime();               /* 延時10us */
/*
reg=GetCa6002State(REG_OSW_STA);
printf("%d\n",reg);
*/                    
                    /* 設置成功返回TRUE,否則返回FALSE */ 
                    if((GetCa6002State(CA6002_REG_OSW_STA)&0x2)==0x2)
                        return(TRUE);
                    else 
                        return(FALS);
                 }
             else                               /* 自動 */
                 {
                    CLR_SEL_OSW1;
                    *CA6002_POI_OSW_STA = RegOswSta<<8;
                    
                    SwitchTime();               /* 延時10us */
                  
                    /* 設置成功返回TRUE,否則返回FALSE */ 
                    if((GetCa6002State(CA6002_REG_OSW_STA)&0x2)==0)
                        return(TRUE);
                    else 
                        return(FALS);                    
                 }
           }
       else                                     /* 設置接收通道 */
           {
             if((RegOswSta&0x2)==0x2)           /* 在開關模式已設為手動時才操作 */
             { 
               if(ModSet==1)                    /* 通道B */
                   {               
                      SET_STA_OSW1;
                      *CA6002_POI_OSW_STA = RegOswSta<<8;
                      
                      SwitchTime();             /* 延時10us */
                      
                      /* 設置成功返回TRUE,否則返回FALSE */ 
                      if((GetCa6002State(CA6002_REG_OSW_STA)&0x1)==0x1)
                          return(TRUE);
                      else 
                          return(FALS);                            
                   }
               else                             /* 通道A */
                   {
                      CLR_STA_OSW1;
                      *CA6002_POI_OSW_STA = RegOswSta<<8; 
                      
                      SwitchTime();             /* 延時10us */
                      
                      /* 設置成功返回TRUE,否則返回FALSE */ 
                      if((GetCa6002State(CA6002_REG_OSW_STA)&0x1)==0)
                          return(TRUE);
                      else 
                          return(FALS);                             
                   }           
             }
             else return(FALS);
           }  
  }
  else                                          /* 波長2 */
  {
      if(ModSel==0)                             /* 設置開關模式 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩夫妻久久| 日韩av网站在线观看| 成人动漫一区二区| 日本一二三不卡| 色综合视频一区二区三区高清| 亚洲黄色av一区| 欧美日韩日日骚| 免费高清在线一区| 欧美一区午夜视频在线观看| 久久精品国产亚洲a| 久久理论电影网| 色综合中文字幕国产 | 视频一区二区三区在线| 日韩欧美另类在线| 成人av在线资源网站| 亚洲一区二区三区四区的| 欧美妇女性影城| av亚洲精华国产精华精| 午夜精品一区二区三区三上悠亚 | 欧美无砖专区一中文字| 国产一区日韩二区欧美三区| 亚洲视频香蕉人妖| 精品国产一区二区精华| 99精品视频中文字幕| 麻豆国产一区二区| 亚洲一区免费视频| 国产欧美精品区一区二区三区| 91麻豆视频网站| 精品亚洲成a人| 亚洲国产视频a| 国产精品久久久久影视| 91 com成人网| 色狠狠一区二区三区香蕉| 精品一区二区三区在线播放视频| 亚洲精品国产第一综合99久久| 日韩精品专区在线影院重磅| 欧美三级电影在线看| 97精品国产露脸对白| 国内精品嫩模私拍在线| 蜜桃av一区二区| 日韩黄色免费网站| 日韩综合小视频| 在线成人av网站| 欧美一区二区三区在| 91精品婷婷国产综合久久性色| 欧美三级韩国三级日本一级| 欧美三级三级三级| 337p亚洲精品色噜噜| 欧美日韩你懂得| 欧美疯狂做受xxxx富婆| 日韩一区二区三区观看| 26uuu色噜噜精品一区二区| 精品国产污网站| 26uuu国产一区二区三区| 国产喷白浆一区二区三区| 亚洲国产精品成人久久综合一区| 国产精品成人免费在线| 亚洲欧美色一区| 男女视频一区二区| 高清beeg欧美| 欧美日韩一区二区三区视频| 制服丝袜av成人在线看| 久久综合网色—综合色88| 国产精品女主播av| 天堂一区二区在线| 久久97超碰国产精品超碰| 国产成人丝袜美腿| 欧美日本视频在线| 亚洲青青青在线视频| 日本美女一区二区| 在线日韩国产精品| 国产精品毛片大码女人| 日韩av一区二区在线影视| 99久久精品一区| 精品电影一区二区三区| 久久99精品视频| 99这里都是精品| 久久精品99久久久| 成人免费毛片片v| 成人午夜在线免费| 日韩极品在线观看| 国产精品美女久久久久久久| 色屁屁一区二区| 欧美一区日韩一区| 国产精品毛片久久久久久久| 不卡av免费在线观看| 亚洲激情在线播放| 欧美日韩精品一区视频| 精品一区二区日韩| 国产精品视频线看| 欧美日韩在线播放三区四区| 蜜臀99久久精品久久久久久软件| 欧美变态tickle挠乳网站| 不卡一区中文字幕| 亚洲gay无套男同| 国产亚洲欧美日韩在线一区| 在线中文字幕不卡| 九九视频精品免费| 综合av第一页| 久久综合九色综合久久久精品综合| 国产精品一品二品| 亚洲视频小说图片| 色婷婷综合久久久| 亚洲成人你懂的| 337p亚洲精品色噜噜狠狠| 日本欧美肥老太交大片| 精品久久久久一区二区国产| 蜜臀99久久精品久久久久久软件| 日韩欧美一区二区免费| 国产一区二区主播在线| 国产视频一区在线播放| av色综合久久天堂av综合| 一区二区三区在线视频免费| 欧美日韩视频不卡| 国产精品1区二区.| 亚洲国产精品一区二区www| 精品国产凹凸成av人网站| 不卡av在线免费观看| 日韩一区精品字幕| 成人免费在线观看入口| 制服丝袜激情欧洲亚洲| 懂色av一区二区三区免费看| 亚洲一区二区欧美日韩| 久久亚洲一级片| 51精品久久久久久久蜜臀| 成人美女视频在线看| 美女www一区二区| 亚洲福利视频一区| 亚洲欧美日本在线| 国产精品丝袜久久久久久app| 欧美精品少妇一区二区三区| 色综合一区二区| 成人午夜伦理影院| 国产综合久久久久久鬼色| 青草av.久久免费一区| 亚洲国产成人tv| 亚洲一区中文在线| 一区二区三区不卡视频在线观看| 久久理论电影网| 久久久久久一二三区| 久久亚洲二区三区| 久久久久久久久久久久久久久99 | 成人美女视频在线观看18| 卡一卡二国产精品| 久久se精品一区二区| 激情综合五月婷婷| 国产又粗又猛又爽又黄91精品| 久久精品国产精品亚洲精品| 天天免费综合色| 极品少妇一区二区| 波多野结衣中文字幕一区| 成人动漫一区二区在线| 色婷婷综合久久久| 欧美顶级少妇做爰| 久久综合色天天久久综合图片| 欧美国产乱子伦| 亚洲午夜一二三区视频| 美女脱光内衣内裤视频久久影院| 另类小说综合欧美亚洲| 成人精品一区二区三区四区| 欧美区一区二区三区| 欧美一区二区三区在线视频| 一区二区成人在线| 国产精品中文字幕日韩精品| 日韩三区在线观看| 一区二区三区高清| 色婷婷精品大视频在线蜜桃视频| 日韩精品最新网址| 免费一级欧美片在线观看| 在线观看欧美日本| 亚洲夂夂婷婷色拍ww47| 成人免费观看男女羞羞视频| 2020国产精品自拍| 久久电影网电视剧免费观看| 91精品国产一区二区| 一区二区三区在线免费观看| av网站免费线看精品| 国产精品毛片a∨一区二区三区| 国产精品一区二区在线看| 精品成人a区在线观看| 韩国女主播成人在线| 国产嫩草影院久久久久| 美国一区二区三区在线播放| 91麻豆精品国产91久久久久 | 欧美一区二区三区免费大片| 亚洲成人手机在线| 日韩区在线观看| 国产精品自拍在线| 日韩伦理电影网| 欧美精品在线视频| 国产一区二区三区久久悠悠色av| 久久九九99视频| 91最新地址在线播放| 亚洲一卡二卡三卡四卡| 欧美一区二区三区日韩| 成人性色生活片免费看爆迷你毛片| 亚洲欧洲无码一区二区三区| 在线免费不卡电影| 国产在线一区二区| 亚洲国产日韩精品|