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

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

?? scib_lib.c

?? atmel c5122 USB C51程序
?? C
?? 第 1 頁 / 共 4 頁
字號:
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_hw_disable_parity_error()
{
  Scib_hw_set_SCRS();
  SCIER &= ~ MSK_SCIER_ESCPI;
}

/*F**************************************************************************
* NAME: scib_hw_direct_conv 
*----------------------------------------------------------------------------
* PARAMS: none
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
* reset the bit convention
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_hw_direct_conv()
{
  /*DIRECT CONVENTION*/
  Scib_hw_set_SCRS();
  SCICR &= (~MSK_SCICR_CONV);
}



/*F**************************************************************************
* NAME: scib_hw_inverse_conv 
*----------------------------------------------------------------------------
* PARAMS: none
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
*  sets the bit convention
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_hw_inverse_conv()
{
  /*INVERSE CONVENTION*/
  Scib_hw_set_SCRS();
  SCICR |= MSK_SCICR_CONV; 
}

/*F**************************************************************************
* NAME: scib_hw_set_conv
*----------------------------------------------------------------------------
* PARAMS: convention 0 = direct, 1 = inverse
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
*  sets the bit convention
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_hw_set_conv(Uchar uc_conv)
{
   if (uc_conv & 0x2)  
      scib_inverse_conv();
   else
      scib_direct_conv();
}

/*F**************************************************************************
* NAME: scib_hw_reset_uart
*----------------------------------------------------------------------------
* PARAMS: none
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
*  this function clear and set the UART mode for reset Tx, Rx after timeout
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_hw_reset_uart (void)
{
  Scib_hw_set_SCRS();  
  SCICR &= ~ MSK_SCICR_UART;
  SCICR &= (~MSK_SCICR_WTEN);
  SCICR |= MSK_SCICR_UART;

}



/*F**************************************************************************
* NAME: scib_hw_atr_config 
*----------------------------------------------------------------------------
*----------------------------------------------------------------------------
* PARAMS:  
*----------------------------------------------------------------------------
* PURPOSE: 
* after a reset detection, this function configures the
* reader to receive the ATR (Answer To Reset) 
*****************************************************************************
* NOTE: This is an old function. Do not use this function.
*****************************************************************************/
void scib_hw_atr_config(void)
{
  Scib_set_SCRS();
  SCICR = (MSK_SCICR_VCARD0 | MSK_SCICR_VCARD1); //(MSK_SCICR_CREP|MSK_SCICR_CONV); /* bit3=UART=1 -> driven by smart card UART , bits4 &5 : Vacrd=5V */
 
  scib_hw_cardvcc_on();

  /*WAIT VCARDOK = 1 on silicium*/
  Scib_clear_SCRS();

  while(MSK_SCISR_VCARDOK == (SCISR & MSK_SCISR_VCARDOK));

  Scib_set_SCRS();
  SCICR |= MSK_SCICR_UART;

  scib_hw_cardio_on(); 

  scib_hw_cardclk_on();
}


#ifdef SCIB_USE_TIMER1
/*F**************************************************************************
* NAME: stop_timer1_etu
*----------------------------------------------------------------------------
* PARAMS: none
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
*  This function stop the timer 1 in etu
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void stop_timer1_etu(void)
{
  // stop timer 1 if it is already running
  TR1 = 0;
}

/*F**************************************************************************
* NAME: start_timer1_etu
*----------------------------------------------------------------------------
* PARAMS: none
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
*  This function start the timer 1 in etu
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void start_timer1_etu(Uint16 us_laps_etu)
{
  Uint32 ul_laps_us;
  Uint32 ul_laps_t1;
  Uint16 us_counter_timer_end;

  //compute laps in micro sec
  ul_laps_us = (Uint32)us_laps_etu * (Uint32)DEFAULT_ETU;

  //compute T1 laps in micro sec
  ul_laps_t1 = (Uint32)((6000 * 65536)/FCLK_TIMER);

  //compute loop overflow
  us_timer_count = (Uint16)(ul_laps_us / ul_laps_t1);

  //compute last in micro sec
  us_counter_timer_end  = (Uint16)((Uint32)ul_laps_us % (Uint32)ul_laps_t1);

  //compute last for register
  u16_timer_last_count.w = (Uint16)(65536 - (Uint16)((Uint32)((Uint32)us_counter_timer_end * (Uint32)FCLK_TIMER)/(Uint32)6000 ));

  //initialise timer 1
  if (us_timer_count)
  {
    TL1 = 0;
    TH1 = 0;
  }
  else
  {
    TL1 = u16_timer_last_count.b[1] ;
    TH1 = u16_timer_last_count.b[0] ;
  }
// clear all timer1 
  TMOD &= 0x0f;
  // select timer1 mode 1 and options
  TMOD |= 0x10;

  //Set_timer1_x1_mode(); // timer1 always in x1 mode, even if x2 mode is set for std clk.
  TR1=1;
  ET1=1;
}


/*F**************************************************************************
* NAME: Timer0_interrupt
*----------------------------------------------------------------------------
* PARAMS:
* return:   none
*----------------------------------------------------------------------------
* PURPOSE: 
* This function is the interrupt program for the timer 1.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
Interrupt (void Timer1_interrupt(void),IRQ_T1)
{
  // stop timer 1
  TR1=0;
  if (us_timer_count==0xFFFF)
  {
    /* disable IT RX,TX,Timeout*/
    Scib_hw_set_SCRS();
    SCIER &= ~ (MSK_SCIER_ESCTI | MSK_SCIER_ESCTBI | MSK_SCIER_ESCWT | MSK_SCIER_ESCRI) ;
    Scib_hw_set_status_error(MSK_SCIIR_SCWTI);

  }
  else 
  {
    us_timer_count--;
    if (!(us_timer_count))
    {
      // reload for the last IT
      TL1 = u16_timer_last_count.b[1] ;
      TH1 = u16_timer_last_count.b[0] ; 
    }
    //Set_timer1_x1_mode(); // timer1 always in x1 mode, even if x2 mode is set for std clk.
    TR1=1;
    ET1=1;
  }
}
#endif
 


#ifdef DCDC_INIT_PROCEDURE
/*F**************************************************************************
* NAME: scib_hw_start_dcdc
*----------------------------------------------------------------------------
* PARAMS: none
* return: OK if VCARD OK and DC/DC initialization procedure OK
*         KO        
*----------------------------------------------------------------------------
* PURPOSE: 
*  
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
bit scib_hw_start_dcdc(void)
{
  Byte boost= 0x00;
  scib_hw_cardclk_off();
  scib_hw_cardrst_off(); 
  scib_hw_cardvcc_on();                 /*set the bit CARDVCC in SCCON*/

  // MODE bit management
  // reset MODE bit: regul mode 
  DCCKPS |= 0x80;

  // Check CVCC voltage 
  Scib_hw_set_SCRS();

  // check if self or not
  #ifndef DCDC_NOSELF
  if(SC_5_VOLT == (SCICR & SC_5_VOLT))
  {
    // set MODE bit: pump mode 
    DCCKPS &= 0x7F;
  }
  #endif

  do
  {
    Scib_hw_clear_and_scicr(~MSK_SCICR_UART);
    DCCKPS &= ~MSK_DCCKPS_BOOST;        /* set BOST[1:0] to 00 = normal,not necessary here?*/
    DCCKPS |= (boost << 4);             /*increment BOOST*/
    
    scib_set_etu_timer (SCIB_3_MS);     /*set 3ms timeout */
    do
    {
      if ( scib_hw_vcard_ok() && scib_hw_card_there() ) 
      {
        DCCKPS &= ~MSK_DCCKPS_BOOST;    /* set BOST[1:0] to 00 = normal */
        scib_dis_wait_time_count();
        Scib_hw_clear_status_error(MSK_SCIIR_SCWTI);//uc_error &= ~ MSK_SCIIR_SCWTI;          
        return OK;                      /*if VCARD_OK then return OK*/
      }
    }while (!scib_hw_vcard_ok() && (  uc_error == 0));   //else if VCARD KO and 3MS timeout expired
    scib_dis_wait_time_count();
    uc_error &= ~ MSK_SCIIR_SCWTI;
    
  }while (boost++ < 3 );

  scib_set_and_wait (SCIB_100_MS);      /* For EMV 100MS for VCARD OK, warning : DC/DC init proc  *
                                         * can be 3*3MS=10MS max, wich can be a problem.          */
  if ( scib_hw_vcard_ok() && scib_hw_card_there() ) 
  {
    DCCKPS &= ~MSK_DCCKPS_BOOST;        /* set BOST[1:0] to 00 = normal */
    scib_dis_wait_time_count();
    Scib_hw_clear_status_error(MSK_SCIIR_SCWTI);//uc_error &= ~ MSK_SCIIR_SCWTI;        
    return OK;                          /*if VCARD_OK then return OK*/
  }
  return KO;                            /* else DC/DC converter initialization failure */
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品素人一区二区| 午夜视频在线观看一区| 亚洲高清免费视频| 国产伦精一区二区三区| 欧美日韩一区久久| 1024成人网色www| 国产伦精品一区二区三区免费 | 亚洲线精品一区二区三区| 国精品**一区二区三区在线蜜桃| 在线免费观看日本一区| 国产精品成人免费| 国产v日产∨综合v精品视频| 精品日韩在线一区| 秋霞影院一区二区| 欧美日韩一本到| 一区二区在线观看免费视频播放| 成人黄色777网| 国产精品妹子av| 国产mv日韩mv欧美| 国产拍揄自揄精品视频麻豆| 国产一区二区精品在线观看| 精品国产制服丝袜高跟| 蜜臀精品久久久久久蜜臀| 91麻豆精品国产91久久久资源速度| 一区二区三区精品视频在线| 色拍拍在线精品视频8848| 综合久久综合久久| 色婷婷精品大视频在线蜜桃视频| 国产精品久久久久久亚洲毛片| 高清久久久久久| 国产精品热久久久久夜色精品三区 | 日韩你懂的电影在线观看| 亚洲电影一区二区三区| 欧美人与z0zoxxxx视频| 亚州成人在线电影| 日韩欧美在线影院| 精品一区二区三区免费毛片爱| 日韩三级免费观看| 国产精品影视在线观看| 欧美国产欧美综合| 99久久综合国产精品| 亚洲制服丝袜一区| 欧美一区二区三级| 国产美女一区二区| 18成人在线观看| 欧美日韩一区在线| 精品一区二区在线观看| 国产精品私人影院| 在线日韩一区二区| 久久99蜜桃精品| 国产色爱av资源综合区| 97久久精品人人做人人爽| 一区二区三区四区中文字幕| 欧美猛男超大videosgay| 九九**精品视频免费播放| 国产三级精品三级| 91国产精品成人| 久久精品理论片| 国产精品女主播av| 欧美三级资源在线| 国产一区二区精品久久99| 国产精品青草综合久久久久99| 91国偷自产一区二区开放时间 | 精品一区二区三区免费毛片爱| 久久美女高清视频| 欧洲精品一区二区| 国产成人综合自拍| 亚洲一卡二卡三卡四卡无卡久久| 欧美一区二区三区视频免费播放| 国产成人啪免费观看软件| 亚洲一区二区成人在线观看| 久久久国产综合精品女国产盗摄| 在线观看日韩毛片| 国产成人亚洲综合a∨婷婷图片| 亚洲综合无码一区二区| 久久视频一区二区| 欧美三级蜜桃2在线观看| 国产精品99久久久久久久vr| 亚洲gay无套男同| 中文字幕一区在线| 精品国产免费人成电影在线观看四季| 91女神在线视频| 在线观看91视频| 国产91精品一区二区麻豆亚洲| 亚洲午夜激情网页| 成人欧美一区二区三区1314| 日韩免费高清av| 欧美日韩卡一卡二| 91麻豆精品秘密| 国产二区国产一区在线观看 | 亚洲精品日产精品乱码不卡| 欧美成人福利视频| 欧美精品免费视频| 色先锋aa成人| 成人免费精品视频| 极品销魂美女一区二区三区| 亚洲成年人网站在线观看| 中文字幕欧美一区| 欧美韩国日本不卡| 欧美精彩视频一区二区三区| 精品日韩在线观看| 91精品在线免费| 精品视频1区2区3区| 在线视频中文字幕一区二区| www.性欧美| 成人久久久精品乱码一区二区三区| 国模套图日韩精品一区二区| 久热成人在线视频| 蜜臀久久久99精品久久久久久| 午夜久久久久久久久久一区二区| 亚洲图片欧美综合| 亚洲午夜电影网| 亚洲在线视频免费观看| 亚洲码国产岛国毛片在线| 国产精品国产成人国产三级| 中文字幕精品一区| 国产精品久久久久7777按摩| 国产三级一区二区三区| 国产欧美一区二区精品久导航 | av在线播放一区二区三区| 成人av第一页| 一本到一区二区三区| 欧洲视频一区二区| 欧美日本国产一区| 日韩精品一区二区三区在线| 久久久噜噜噜久久人人看| 欧美激情综合五月色丁香| 亚洲欧洲精品一区二区精品久久久| 国产精品久久久久婷婷二区次| 亚洲日本丝袜连裤袜办公室| 亚洲第一主播视频| 久久精品国产99| 成人午夜看片网址| 91久久精品一区二区| 欧美美女bb生活片| 久久综合一区二区| 亚洲色图另类专区| 免费精品视频在线| 国产精品亚洲人在线观看| 91老师片黄在线观看| 欧美精品在线观看一区二区| 久久久精品蜜桃| 亚洲国产成人av网| 国产高清精品久久久久| 91亚洲精品一区二区乱码| 欧美乱妇一区二区三区不卡视频| 欧美成人a∨高清免费观看| 成人欧美一区二区三区视频网页| 日韩国产精品久久| 丁香天五香天堂综合| 欧美日韩欧美一区二区| 久久久青草青青国产亚洲免观| 亚洲欧美一区二区三区孕妇| 免费高清成人在线| 99久久国产综合精品色伊| 欧美一区二区在线免费播放| 欧美国产日韩精品免费观看| 日韩不卡在线观看日韩不卡视频| 国产成人免费视频网站高清观看视频| 欧美三级一区二区| 国产精品久久99| 精品一区二区在线视频| 在线观看一区二区视频| 国产日韩欧美一区二区三区综合| 亚洲成人av电影| k8久久久一区二区三区| 欧美成人乱码一区二区三区| 亚洲一区二区三区免费视频| 成人综合婷婷国产精品久久蜜臀| 51午夜精品国产| 亚洲午夜电影在线| 91美女福利视频| 中文字幕免费观看一区| 久久成人av少妇免费| 欧美日韩一区精品| 亚洲日本护士毛茸茸| 粉嫩嫩av羞羞动漫久久久| 91精品国产综合久久精品| 一区二区在线免费| 波多野结衣在线一区| 久久久国产精品不卡| 免费亚洲电影在线| 欧美日韩国产首页| 亚洲自拍偷拍九九九| 91在线观看下载| 国产精品久久久久9999吃药| 国产精品996| 久久精品免视看| 国内久久婷婷综合| 日韩欧美一级二级| 日韩高清不卡在线| 欧美福利电影网| 日韩影视精彩在线| 欧美区在线观看| 图片区小说区区亚洲影院| 欧美日韩一区二区电影| 亚洲电影一级黄| 制服丝袜国产精品| 蜜桃av一区二区三区电影| 日韩一卡二卡三卡四卡|