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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? scib_api.c

?? atmel c5122 USB C51程序
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):

/*F**************************************************************************
* NAME: scib_start_wt 
*----------------------------------------------------------------------------
* PARAMS: dw_timeout value of time out in etu
* return: none 
*----------------------------------------------------------------------------
* PURPOSE: 
* Start waiting time counter
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_start_wt(Uint32 dw_timeout)
{
  /*modify SCWTx registers */
  Union32 udw_timeout;

  udw_timeout.dw = dw_timeout;

  scib_dis_wait_time_count();

  scib_store_waiting_time( udw_timeout);

  scib_en_wait_time_inter();
  
  uc_error &= ~ MSK_SCIIR_SCWTI;
  
  /*start counter WTEN=1 */
  scib_en_wait_time_count();
}


/*F**************************************************************************
* NAME: scib_send_string_pol 
*----------------------------------------------------------------------------
* PARAMS: *uc_data_to_send: address of the string to send,
* uc_data_length: length of the string to send
* return: none 
*----------------------------------------------------------------------------
* PURPOSE: 
* Send a string with polling between each byte
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
/*
void scib_send_string_pol(Uchar *uc_data_to_send, Uchar uc_data_length)
{
  Uchar index;

  //clear SCRS
  Scib_clear_SCRS();     

  for(index=0;index<uc_data_length;index++)
  {  
    SCTBUF = uc_data_to_send[index];

    //test SCTC
    while(MSK_SCISR_SCTC != (SCISR & MSK_SCISR_SCTC));
   
    //clear SCTC
    SCISR &= (~MSK_SCISR_SCTC);
  }  
}
*/

/*F**************************************************************************
* NAME: scib_card_int_rx
*----------------------------------------------------------------------------
* PARAMS: puc_buffer = address buffer rx ATR
*         us_size_buffer = size max ATR  
*         dw_BWT = timeout first byte
*         dw_CWT = timeout inter byte
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
* This function initialise the reception data from smart card
* in power up sequence, This function initialise time the BWT and CWT for ATR
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_card_init_rx( Uchar * puc_buffer, Uint16 us_size_buffer,
                        Uint32 dw_BWT, Uint32 dw_CWT )
{
  Union32 udw_timeout;

  /* init Rx variable for interrupt Rx */
  us_size_rx = 0;
  puc_buffer_rx = puc_buffer ;
  
  scib_en_receiver_inter ();
  
  /* set timeout for reception first byte smart card */
  scib_dis_wait_time_count ();
  scib_start_wt (dw_BWT);  
  
  /* Set mode UART */
  Scib_set_SCRS();
  //SCICR |= MSK_SCICR_UART;
  scib_set_or_scicr(MSK_SCICR_UART);
  
  us_size_buffer_rx_max = us_size_buffer;
  
  /* load a new timeout CWT for other byte recept*/	
  ast_slot[0].u32_CWT.dw=dw_CWT;
  udw_timeout.dw = dw_CWT;
  scib_store_waiting_time( udw_timeout);
}



/*F**************************************************************************
* NAME: scib_card_wait_rx
*----------------------------------------------------------------------------
* PARAMS: us_data_length: length of the string receive of the smart card
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
* This function wait reception of us_data_length bytes or a error (timeout,.)
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
* This function check the global variable uc_error for stop the wait RX
* or the global variable us_size_rx this variable is update by interrupt SCIB
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
Uchar scib_card_wait_rx(Uint16 us_data_length)
{
 
  while ((us_size_rx<us_data_length)  && (!(uc_error )));

  if (uc_error)
      return (KO);
  
  return (OK);
}


/*F**************************************************************************
* NAME: nb_byte_in_td
*----------------------------------------------------------------------------
* PARAMS: uc_TDx : byte TD of ATR
* return: number byte anounced in TD byte
*----------------------------------------------------------------------------
* PURPOSE: 
* This function compute the number of byte announced in the byte TDx
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
****************************************************************************/
Uchar nb_byte_in_td (Uchar uc_TDx)
{
  Uchar uc_i;
  Uchar uc_msk_bit;
  Uchar nb_byte;
  
  nb_byte = 0;
  uc_msk_bit =0x10 ;
  for ( uc_i=0 ; uc_i<4  ; uc_i++ )
  {
    if (( uc_TDx & uc_msk_bit) != 0)
      nb_byte ++;
    uc_msk_bit <<=1;
  }
  return nb_byte;
}


/*F**************************************************************************
* NAME: scib_wait
*----------------------------------------------------------------------------
* PARAMS: none
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
* This function wait a interrupt SCIB timeout
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_wait (void)
{
  while ( ( uc_error & (MSK_SCISR_CARDIN | MSK_SCIIR_SCWTI)) == 0);
}


/*F**************************************************************************
* NAME: scib_set_etu_timer
*----------------------------------------------------------------------------
* PARAMS: dw_laps laps a waiting time in etu with etu = DEFAULT_ETU
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
* 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_set_etu_timer (Uint32 dw_laps)
{
  Scib_set_and_ien1(~MSK_IEN1_ESCI);
  scib_dis_wait_time_count ();
  scib_start_wt (dw_laps);
}


/*F**************************************************************************
* NAME: scib_set_and_wait
*----------------------------------------------------------------------------
* PARAMS: dw_laps laps a waiting time in etu with etu = DEFAULT_ETU
* return: none
*----------------------------------------------------------------------------
* PURPOSE: 
* 
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
void scib_set_and_wait (Uint32 dw_laps)
{
  scib_set_etu_timer (dw_laps);
  scib_wait ();
  uc_error &= ~MSK_SCIIR_SCWTI;
}




/*F**************************************************************************
* NAME: scib_card_send_tx
*----------------------------------------------------------------------------
* PARAMS: uc_size size data send
* return: O if OK 
*----------------------------------------------------------------------------
* PURPOSE: 
* This function send data to the smart card and wait the end of tx.
* The function start the timeout BWT/CWT if SCIB error is detect then exit
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
* This function check the global variable use by interrupt (uc_error, 
* us_size_tx)
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
Uchar scib_card_send_tx (Uint16 us_size)
{
  Uchar uc_first_byte;


  uc_transmit = 0;


  us_size_tx = us_size;
  us_size_tx --;  
  uc_first_byte = * puc_buffer_tx ++;

  Scib_set_SCRS();  
  /* if 1 byte */
  if (us_size==1)
  {
    Scib_enable_it_transmit_buffer();
    Scib_disable_it_empty_buffer();

    /*start counter WTEN=1 */
    scib_en_wait_time_count();
  }
  else
  {
    Scib_enable_it_empty_buffer();
    Scib_disable_it_transmit_buffer();
  }

  // Send First Byte  
  Scib_clear_SCRS();
  Scib_putchar(uc_first_byte);  //  SCTBUF = uc_first_byte;

  /* wait end tx for start timeout CWT */
  while ((uc_transmit == 0) && (uc_error==0)); 

  return uc_error;
}

/*_____ E N D  O F  F I L E  _________________________________________________*/


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美极品另类videosde| 欧洲国内综合视频| 丝瓜av网站精品一区二区| 久久久久久久久久电影| 欧美日高清视频| 在线影院国内精品| 成人一级片网址| 国产在线精品一区二区夜色| 亚洲韩国精品一区| 亚洲欧美激情视频在线观看一区二区三区| 精品福利一区二区三区| 日韩一级成人av| 91精品国产黑色紧身裤美女| 中文字幕中文字幕在线一区| 欧美tk丨vk视频| 精品欧美一区二区久久| 久久久久久久网| 久久久久久久久久久黄色| 国产欧美综合色| 国产精品国产馆在线真实露脸| 中文久久乱码一区二区| 亚洲视频在线观看一区| 亚洲综合色噜噜狠狠| 一区二区三区产品免费精品久久75| 日韩一区在线看| 亚洲成人精品一区二区| 日韩av电影免费观看高清完整版 | 美女性感视频久久| 国产成人综合亚洲91猫咪| 99热国产精品| 欧美乱妇20p| 久久夜色精品国产欧美乱极品| 久久精品一区四区| 亚洲主播在线观看| 国产精品一区在线观看乱码| 91原创在线视频| 欧美精品欧美精品系列| 精品国一区二区三区| 一区av在线播放| 国产精品一线二线三线| 欧美日韩一区二区三区高清| 久久综合九色综合97婷婷| 亚洲日穴在线视频| 国模无码大尺度一区二区三区| 97久久超碰精品国产| 日韩美女主播在线视频一区二区三区| 国产女人18毛片水真多成人如厕| 亚洲一区二区三区四区五区黄| 国产一区二区三区国产| 欧美久久久久久久久| 国产精品日韩成人| 激情欧美日韩一区二区| 欧美伊人久久久久久久久影院| 国产视频911| 国产一区二区在线电影| 日韩一区二区中文字幕| 亚洲电影视频在线| 一本色道**综合亚洲精品蜜桃冫 | 欧美一级夜夜爽| 亚洲国产综合色| 91激情在线视频| 一区二区三区在线高清| 色香蕉久久蜜桃| 中文字幕第一区二区| 久久99国产精品麻豆| 国产精品女人毛片| 成人中文字幕电影| 欧美大片一区二区| 看电视剧不卡顿的网站| 欧美性一级生活| 一二三四区精品视频| 99在线精品免费| 亚洲视频在线观看三级| 欧美一区二视频| 国产乱人伦精品一区二区在线观看| 亚洲精品一线二线三线无人区| 国产精品911| 亚洲一区二区三区激情| 欧美丰满美乳xxx高潮www| 另类综合日韩欧美亚洲| 国产免费久久精品| 99精品久久只有精品| 免费成人在线视频观看| 国产精品无圣光一区二区| 欧美色图第一页| 青青国产91久久久久久| 99re这里都是精品| 裸体在线国模精品偷拍| 青娱乐精品视频| 自拍偷自拍亚洲精品播放| 日韩欧美中文字幕公布| 99精品视频在线观看免费| 久久精品久久99精品久久| 中文av一区二区| 精品国产一区二区三区久久久蜜月| 国产精品资源网站| 久久精品99国产精品| 婷婷中文字幕一区三区| 亚洲自拍另类综合| 久久久久久综合| 日韩三级中文字幕| 欧美怡红院视频| 91九色最新地址| 成人国产精品免费观看动漫| 久久精品久久精品| 蜜桃视频在线观看一区| 亚洲综合激情另类小说区| 中文字幕电影一区| 久久久久久一二三区| 久久综合狠狠综合久久激情| 91麻豆精品91久久久久久清纯 | 26uuu欧美| 久久久久久久精| 国产精品久久久久久久久久久免费看 | 国产精品国产三级国产三级人妇| 精品成人私密视频| 日韩三级视频在线看| 欧美一区二区三区免费视频 | a亚洲天堂av| 色综合中文字幕国产| 色悠久久久久综合欧美99| 成人av高清在线| 91麻豆文化传媒在线观看| 91在线视频官网| 欧美做爰猛烈大尺度电影无法无天| 色综合天天综合网天天看片| 久久免费电影网| 国产片一区二区三区| 国产精品黄色在线观看| 亚洲激情一二三区| 视频一区欧美精品| 国产乱子伦视频一区二区三区| 成人午夜大片免费观看| 一本到三区不卡视频| 欧美日韩一区二区三区高清 | 精品国产自在久精品国产| 国产午夜一区二区三区| 亚洲欧洲精品成人久久奇米网| 亚洲免费在线电影| 免费人成在线不卡| 国产.欧美.日韩| 欧美片在线播放| 国产精品女上位| 美女性感视频久久| 91久久国产最好的精华液| 26uuu亚洲综合色| 亚洲大片免费看| heyzo一本久久综合| 欧美电视剧在线看免费| 亚洲激情欧美激情| 国产精品99久久久久久久vr| 在线播放视频一区| 亚洲日本电影在线| 狠狠色伊人亚洲综合成人| 欧美日韩国产高清一区二区三区| 国产精品每日更新在线播放网址| 日本亚洲天堂网| 色吧成人激情小说| 国产精品国产三级国产专播品爱网| 精品一区二区在线免费观看| 911精品产国品一二三产区| 亚洲影视资源网| 色猫猫国产区一区二在线视频| 国产精品日日摸夜夜摸av| 在线播放日韩导航| 丝瓜av网站精品一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美日韩精品免费观看视频| 一区二区三区中文字幕电影| av午夜一区麻豆| 亚洲欧美日本在线| 色偷偷成人一区二区三区91 | 黄色成人免费在线| 国产亚洲短视频| 国产伦精品一区二区三区在线观看 | 精品视频1区2区| 一区二区三区中文字幕在线观看| 99精品偷自拍| 午夜精品国产更新| 3d成人动漫网站| 国产一区二区福利视频| 国产欧美精品国产国产专区| 国产成人av一区二区| 亚洲人成亚洲人成在线观看图片| 一本到不卡精品视频在线观看 | 亚洲欧美日韩国产中文在线| 欧美午夜精品免费| 精品制服美女丁香| 伊人开心综合网| 欧美一区二区女人| 成人av先锋影音| 日韩高清中文字幕一区| 久久久久久久网| 国产精品久久夜| 91精品国产色综合久久不卡电影 | 亚洲女子a中天字幕| 日韩欧美色综合网站| 91农村精品一区二区在线| 青草av.久久免费一区| 最近中文字幕一区二区三区|