亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美mv日韩mv国产网站app| 欧美体内she精高潮| 中文av一区二区| 91豆麻精品91久久久久久| 天天爽夜夜爽夜夜爽精品视频| 欧美喷水一区二区| 国产99久久久久| 亚洲夂夂婷婷色拍ww47| 精品精品国产高清a毛片牛牛| 久久精品理论片| 一区二区三区鲁丝不卡| 日韩欧美一区二区视频| 99久久伊人精品| 久久精品国产第一区二区三区| 国产精品久久久久久久久快鸭 | www.欧美日韩国产在线| 一区二区三区日韩欧美精品| 51精品国自产在线| 日韩一二三区不卡| 国产精品福利一区二区| 亚洲主播在线观看| 国产一区二区精品久久| www.视频一区| 日韩欧美亚洲国产另类| 中文字幕在线免费不卡| 亚洲欧美一区二区三区孕妇| 亚洲丝袜精品丝袜在线| 中文字幕在线不卡国产视频| 国产精品久久久久久一区二区三区| 欧美激情自拍偷拍| 亚洲永久精品大片| 综合欧美亚洲日本| 亚洲最新视频在线播放| 首页综合国产亚洲丝袜| 久久99精品视频| 91香蕉视频污在线| 欧美亚洲一区二区在线观看| 欧美一区二区三区色| 久久欧美中文字幕| 中文字幕一区二区三区不卡在线| 亚洲午夜一区二区三区| 经典三级视频一区| 国产91精品精华液一区二区三区| av在线播放成人| 亚洲国产一区视频| 欧美精选午夜久久久乱码6080| 一区二区三区免费观看| 91亚洲精品久久久蜜桃网站| 国产亚洲精品中文字幕| 国产精品久久久久久久久免费桃花 | 亚洲高清久久久| 91蝌蚪porny| 亚洲三级电影网站| av在线播放成人| 国产免费成人在线视频| 东方欧美亚洲色图在线| 国产精品日日摸夜夜摸av| 丝袜亚洲另类丝袜在线| 欧美色综合影院| 色哟哟欧美精品| 亚洲一区二区美女| 欧美精品少妇一区二区三区| 91精品国产高清一区二区三区| 欧美日韩不卡一区| 91精品黄色片免费大全| 精品国产免费一区二区三区香蕉| 国产精品久久看| 裸体歌舞表演一区二区| 99久久婷婷国产综合精品电影 | 国产suv精品一区二区883| 不卡的av中国片| 欧美一区二区三区四区在线观看 | 国产色一区二区| 亚洲欧洲另类国产综合| 国产乱理伦片在线观看夜一区| 7777女厕盗摄久久久| 国产精品乱码妇女bbbb| 久久99久久99精品免视看婷婷 | 成人自拍视频在线| 蜜臀av亚洲一区中文字幕| 美女尤物国产一区| 色94色欧美sute亚洲线路一ni| 精品国产区一区| 日本二三区不卡| www.av精品| 色狠狠一区二区三区香蕉| 欧美va亚洲va香蕉在线| 在线观看av一区| 国产成人综合精品三级| 日韩专区中文字幕一区二区| 亚洲色图一区二区三区| 久久精品人人爽人人爽| 91精品婷婷国产综合久久| 中文字幕一区二区三区四区不卡 | 国产精品成人免费精品自在线观看 | 久久久91精品国产一区二区精品 | 午夜欧美在线一二页| 亚洲免费电影在线| 欧美成人精品二区三区99精品| 97se亚洲国产综合自在线不卡| 免费成人av在线| 亚洲一区二区三区国产| ...xxx性欧美| 欧美国产日韩精品免费观看| 欧美精品一区二区久久婷婷| 91成人网在线| av午夜精品一区二区三区| 国产成人精品影视| 国产成人精品免费网站| 国产成人亚洲综合a∨婷婷| 极品美女销魂一区二区三区| 免费成人在线观看| 久久se精品一区精品二区| 另类小说色综合网站| 日韩极品在线观看| 无码av免费一区二区三区试看| 一区二区三区电影在线播| 亚洲精品中文在线观看| 国产精品视频一二| 国产精品私人自拍| 国产精品久久一卡二卡| 亚洲日穴在线视频| 一区二区日韩电影| 天天色天天操综合| 肉丝袜脚交视频一区二区| 免费在线看一区| 蜜乳av一区二区| 懂色av一区二区夜夜嗨| av一二三不卡影片| 色综合色综合色综合色综合色综合 | 7777精品伊人久久久大香线蕉| 制服丝袜亚洲播放| 精品福利在线导航| 国产精品伦一区| 亚洲国产精品一区二区久久 | 无吗不卡中文字幕| 亚洲成a人片在线不卡一二三区| 国产精品国产馆在线真实露脸| 国产精品久久久久久久久晋中 | 日韩和欧美一区二区三区| 国产三级精品视频| 国产精品美女久久福利网站| 国产欧美一二三区| 自拍偷拍亚洲综合| ...xxx性欧美| 天堂一区二区在线| 国内外成人在线| 成人爱爱电影网址| 91视视频在线直接观看在线看网页在线看 | 一区二区国产视频| 欧美精品一区二区在线播放| 国产乱人伦偷精品视频不卡| 高清不卡一二三区| 欧美日韩高清影院| 国产精品无圣光一区二区| 欧美体内she精视频| 色综合天天综合网天天狠天天| 国产成人精品免费| 韩国三级电影一区二区| 一本大道久久a久久精二百| 91精品国产一区二区三区香蕉| 国产日韩精品久久久| 亚洲国产精品久久不卡毛片| 国产精品影视在线观看| 欧美美女喷水视频| 国产精品国产精品国产专区不片| 日本中文字幕一区二区有限公司| 盗摄精品av一区二区三区| 91精选在线观看| 亚洲色图第一区| 国产成人av自拍| 日韩精品一区二区三区视频播放 | 国产三级一区二区三区| 日韩国产精品久久久久久亚洲| 91毛片在线观看| 欧美高清在线精品一区| 久久爱www久久做| 91精品国产综合久久久久久 | 欧美亚洲免费在线一区| 中文文精品字幕一区二区| 极品美女销魂一区二区三区免费| 精品视频在线免费看| 亚洲激情第一区| 99国产精品一区| 亚洲欧洲日本在线| jlzzjlzz欧美大全| 中文文精品字幕一区二区| 国产91对白在线观看九色| 久久久亚洲午夜电影| 韩日精品视频一区| 26uuu亚洲综合色欧美| 老司机精品视频一区二区三区| 欧美日韩国产片| 五月激情综合婷婷| 3d成人动漫网站| 青草av.久久免费一区| 欧美欧美欧美欧美首页| 日本中文字幕不卡| 精品人在线二区三区| 久久精品国产一区二区三区免费看|