⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scib_lib.h

📁 atmel c5122 USB C51程序
💻 H
字号:
/*H**************************************************************************
* NAME:         scib_lib.h         
*----------------------------------------------------------------------------
* Copyright (c) 2003 Atmel.
*----------------------------------------------------------------------------
* RELEASE:      c5122-scib-usb-hid-2_4_0      
* REVISION:     1.11     
*----------------------------------------------------------------------------
* PURPOSE: 
* This file contains the SCIB low level driver definition                                    
*****************************************************************************/
#ifndef _SCIB_LIB_H_
#define _SCIB_LIB_H_

/*_____ I N C L U D E S ____________________________________________________*/
#include "lib_sc\scib_api\scib_api.h"

/*select the PLL source for CK_ISO */
#define PLL_FOR_CK_ISO

/*number of measurement to confirm the card presence*/
#define DEB_MAX_COUNT 50

/*_____ M A C R O S ________________________________________________________*/
#define Scib_hw_save_context_scrs(save_scrs)        (save_scrs =(bit)(SCSR & MSK_SCSR_SCRS) )    
#define Scib_hw_restore_context_scrs(save_scrs)     (SCSR = (SCSR &~MSK_SCSR_SCRS) | ((Byte)(save_scrs)) )
#define Scib_hw_clear_SCRS()                        (SCSR &= ~MSK_SCSR_SCRS)
#define Scib_hw_set_SCRS()                          (SCSR |= MSK_SCSR_SCRS)
#define Scib_hw_disable_it_empty_buffer()           (SCIER &= ~ MSK_SCIER_ESCTBI )
#define Scib_hw_enable_it_empty_buffer()            (SCIER |=   MSK_SCIER_ESCTBI )
#define Scib_hw_disable_it_transmit_buffer()        (SCIER &= ~ MSK_SCIER_ESCTI)
#define Scib_hw_enable_it_transmit_buffer()         (SCIER |=   MSK_SCIER_ESCTI)
#define Scib_hw_clear_scier_escri()                 (SCIER &= ~ MSK_SCIER_ESCRI)
#define Scib_hw_enable_scier_escri()                (SCIER |= MSK_SCIER_ESCRI)
#define Scib_hw_enable_it_transmit_and_bwt_rx()     (SCIER |= (MSK_SCIER_ESCWT | MSK_SCIER_ESCTI | MSK_SCIER_ESCRI))
#define scib_hw_clear_it_rxtx()                     (SCIER &= ~ (MSK_SCIER_ESCTI | MSK_SCIER_ESCTBI | MSK_SCIER_ESCWT | MSK_SCIER_ESCRI)) 
#define scib_hw_set_or_scicr(c)                     (SCICR|=(c))
#define Scib_hw_clear_and_scicr(c)                  (SCICR&=(c))
#define Scib_hw_set_or_ien1(c)                      (IEN1 |=(c))
#define Scib_hw_set_and_ien1(c)                     (IEN1 &=(c))
#define scib_hw_read_scisr()                            (SCISR)
//#define scib_set_block_guard_time() (SCSR |= (MSK_SCSR_BGTEN))
//#define scib_clear_block_guard_time() (SCSR &= ~(MSK_SCSR_BGTEN))
#define scib_hw_set_block_guard_time()              (SCSR |= (0x40))
#define scib_hw_clear_block_guard_time()            (SCSR &= ~(0x40))
//#define Scib_rx_char()      (MSK_SCISR_SCRC == (SCISR & MSK_SCISR_SCRC))
//#define Scib_tx_char()      (MSK_SCISR_SCTC == (SCISR & MSK_SCISR_SCTC))
#define Scib_hw_getchar()                           (SCRBUF)
#define Scib_hw_putchar(c)                          (SCTBUF=c)

#ifdef NO_SCIB_API
  #define scib_api_card_out   empty_fct
  #define scib_api_card_in    empty_fct
  #define scib_api_card_mvt   empty_fct
#endif


/*#ifdef SCIB_HARD   #endif*/
/*M**************************************************************************
* NAME: SCIB "Hardware" management 
*----------------------------------------------------------------------------
* PARAMS:
*----------------------------------------------------------------------------
* PURPOSE: 
* These macros manage the SCIB hardware.
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE: 
*----------------------------------------------------------------------------
* REQUIREMENTS: 
*****************************************************************************/
#define Scib_getchar                        Scib_hw_getchar
#define Scib_putchar(c)                     Scib_hw_putchar(c)
#define Scib_set_SCRS                       Scib_hw_set_SCRS
#define Scib_clear_SCRS                     Scib_hw_clear_SCRS
#define Scib_disable_it_transmit_buffer     Scib_hw_disable_it_transmit_buffer
#define Scib_enable_it_transmit_buffer      Scib_hw_enable_it_transmit_buffer
#define Scib_disable_it_empty_buffer        Scib_hw_disable_it_empty_buffer
#define Scib_enable_it_empty_buffer         Scib_hw_enable_it_empty_buffer
#define Scib_disable_it_empty_buffer        Scib_hw_disable_it_empty_buffer
#define Scib_enable_it_empty_buffer         Scib_hw_enable_it_empty_buffer
#define Scib_enable_it_transmit_and_bwt_rx  Scib_hw_enable_it_transmit_and_bwt_rx
#define Scib_set_scicr                      Scib_hw_set_scicr
#define Scib_set_and_ien1                   Scib_hw_set_and_ien1
#define Scib_clear_scier_escri              Scib_hw_clear_scier_escri
#define Scib_enable_scier_escri             Scib_hw_enable_scier_escri
#define scib_set_block_guard_time           scib_hw_set_block_guard_time
#define scib_clear_block_guard_time         scib_hw_clear_block_guard_time
#define scib_activ_card                     scib_hw_activ_card
#define scib_send_byte                      scib_hw_send_byte
#define scib_init                           scib_hw_init
#define scib_activ_card                     scib_hw_activ_card
#define scib_send_byte                      scib_hw_send_byte
#define scib_clk_config                     scib_hw_clk_config
#define scib_init_card_det                  scib_hw_init_card_det
#define scib_set_etu                        scib_hw_set_etu
#define scib_store_waiting_time             scib_hw_store_waiting_time
#define scib_test_scri                      scib_hw_test_scri
#define scib_store_guard_time               scib_hw_store_guard_time
#define scib_test_scri                      scib_hw_test_scri
#define scib_test_scti                      scib_hw_test_scti
#define scib_test_scpe                      scib_hw_test_scpe
#define scib_cardvcc_off                    scib_hw_cardvcc_off
#define scib_cardvcc_on                     scib_hw_cardvcc_on
#define scib_cardrst_on                     scib_hw_cardrst_on
#define scib_cardrst_off                    scib_hw_cardrst_off
#define scib_cardclk_on                     scib_hw_cardclk_on
#define scib_cardclk_off                    scib_hw_cardclk_off
#define scib_vcard_ok                       scib_hw_vcard_ok
#define scib_card_there                     scib_hw_card_there
#define scib_cardio_on                      scib_hw_cardio_on
#define scib_en_wait_time_count             scib_hw_en_wait_time_count
#define scib_dis_wait_time_count            scib_hw_dis_wait_time_count
#define scib_en_wait_time_inter             scib_hw_en_wait_time_inter
#define scib_en_receiver_inter              scib_hw_en_receiver_inter
#define scib_en_inter                       scib_hw_en_inter
#define scib_enable_it_power                scib_hw_enable_it_power
#define scib_disable_it_power               scib_hw_disable_it_power
#define scib_enable_parity_error            scib_hw_enable_parity_error
#define scib_disable_parity_error           scib_hw_disable_parity_error
#define scib_direct_conv                    scib_hw_direct_conv
#define scib_inverse_conv                   scib_hw_inverse_conv
#define scib_set_conv                       scib_hw_set_conv
#define scib_enable_car_rep                 scib_hw_enable_car_rep
#define scib_disable_car_rep                scib_hw_disable_car_rep
#define scib_init_card_det                  scib_hw_init_card_det
#define scib_volt_config                    scib_hw_volt_config
#define scib_reset_uart                     scib_hw_reset_uart
#define scib_atr_config                     scib_hw_atr_config
#define Scib_clear_and_scicr                Scib_hw_clear_and_scicr
#define Scib_clear_and_scicr                Scib_hw_clear_and_scicr
#define scib_set_or_scicr                   scib_hw_set_or_scicr
#define scib_clear_it_rxtx                  scib_hw_clear_it_rxtx
#define scib_read_scisr                     scib_hw_read_scisr

/*_____ D E C L A R A T I O N ______________________________________________*/
void scib_init(void);
void scib_hw_activ_card(void);
void scib_hw_send_byte(Uchar uc_data_to_send);
void scib_hw_clk_config(Uchar );
Uchar scib_hw_set_etu(Uchar uc_FiDi);
void scib_hw_store_guard_time(Union16 gt);
void scib_hw_store_waiting_time(Union32 udw_timeout);
Uchar scib_hw_test_scri(void);
Uchar scib_hw_test_scti(void);
Uchar scib_hw_test_scpe(void);
void scib_hw_cardvcc_off(void);
void scib_hw_cardvcc_on(void);
void scib_hw_cardrst_on(void);
void scib_hw_cardrst_off(void);
void scib_hw_cardclk_on(void);
void scib_hw_cardclk_off(void);
Uchar scib_hw_vcard_ok(void);
Uchar scib_hw_card_there(void);
void scib_hw_cardio_on(void);
void scib_hw_en_wait_time_count();
void scib_hw_dis_wait_time_count();
void  scib_hw_en_wait_time_inter(void);
void  scib_hw_en_receiver_inter(void);
void scib_hw_en_inter(void);
void scib_hw_enable_it_power();
void scib_hw_disable_it_power();
void scib_hw_enable_parity_error();
void scib_hw_disable_parity_error();
void scib_hw_direct_conv();
void scib_hw_inverse_conv();
void scib_hw_set_conv(Uchar uc_conv);
void scib_hw_enable_car_rep();
void scib_hw_disable_car_rep();
void scib_hw_init_card_det();
void scib_hw_volt_config(Uchar );
void scib_hw_reset_uart (void);
void scib_hw_atr_config(void);
#ifdef APDU_MODE
void stop_timer1_etu(void);
void start_timer1_etu(Uint16);
#endif
#ifdef DCDC_INIT_PROCEDURE 
bit scib_hw_start_dcdc(void);
#endif
#endif  /* _SCIB_LIB_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -