std_het.h

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C头文件 代码 · 共 783 行 · 第 1/2 页

H
783
字号
{
  ADCNST_FIELDS  adcnst ;
  HET_MEMORY     memory ;
} ADCNST_INSTRUCTION;


/*---------------------------------------------*/
/* CNT INSTRUCTION                             */
/*---------------------------------------------*/
typedef volatile struct CNT_format                     
{
  unsigned int                      : 11 ;          
  unsigned int brk                  : 1 ;          
  unsigned int next_program_address : 8 ;          
  unsigned int op_code              : 4 ;
  unsigned int angle_cnt            : 1 ;
  unsigned int t_register_select    : 1 ;
  unsigned int ab_register_select   : 1 ;
  unsigned int                      : 4 ;
  unsigned int interrupt_enable     : 1 ;
 

  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int                      : 1 ;
  unsigned int max                  : 20 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;

} CNT_FIELDS ; 

typedef volatile union 
{
  CNT_FIELDS   cnt    ; 
  HET_MEMORY   memory ;
} CNT_INSTRUCTION;


/*---------------------------------------------*/
/* APCNT INSTRUCTION                           */
/*---------------------------------------------*/
typedef volatile struct apcnt_format
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int interrupt_enable     : 1 ;
  unsigned int period_pulse_select  : 2 ;
  unsigned int pin_select           : 5 ;
 
  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int count                : 20 ;
 
  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;
 
} APCNT_FIELDS ;
 
typedef volatile union
{
  APCNT_FIELDS  apcnt   ;
  HET_MEMORY   memory ;
} APCNT_INSTRUCTION;
 
 

/*---------------------------------------------*/
/* PCNT INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct pcnt_format                     
{
  unsigned int                      : 11 ;          
  unsigned int brk                  : 1 ;          
  unsigned int next_program_address : 8 ;          
  unsigned int op_code              : 4 ;
  unsigned int interrupt_enable     : 1 ;
  unsigned int period_pulse_select  : 2 ;
  unsigned int pin_select           : 5 ;

  unsigned int                      : 10 ;
  unsigned int control              : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int count                : 20 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 25 ;

/*TCJ*/
/*unsigned int hr_data              : 5 ;*/

} PCNT_FIELDS ;      

typedef volatile union 
{
  PCNT_FIELDS  pcnt   ; 
  HET_MEMORY   memory ;
} PCNT_INSTRUCTION;


/*---------------------------------------------*/
/* SCNT INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct scnt_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int                      : 1 ;
  unsigned int count_mode           : 2 ;
  unsigned int step_width           : 2 ;
  unsigned int                      : 3 ;

  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int                      : 1 ;
  unsigned int gap_start            : 20 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;

} SCNT_FIELDS ;      

typedef volatile union 
{
  SCNT_FIELDS  scnt   ; 
  HET_MEMORY   memory ;
} SCNT_INSTRUCTION;



/*---------------------------------------------*/
/* ACNT INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct acnt_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;          
  unsigned int op_code              : 4 ;
  unsigned int edge_select          : 1 ;
  unsigned int                      : 6 ;
  unsigned int interrupt_enable     : 1 ; 

  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int gap_end              : 20 ;
 
  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;

} ACNT_FIELDS ;      

typedef volatile union 
{
  ACNT_FIELDS  acnt   ; 
  HET_MEMORY   memory ;
} ACNT_INSTRUCTION;


/*---------------------------------------------*/
/* ECNT INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct ecnt_format
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int                      : 1 ;
  unsigned int count_mode           : 2 ;
  unsigned int cap_en               : 1 ;
  unsigned int                      : 4 ;
 
  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int cond_addr            : 8 ;
  unsigned int pin_select           : 5 ;
  unsigned int count_cond           : 3 ;
  unsigned int                      : 1 ;
  unsigned int t_register_select    : 1 ;
  unsigned int ab_register_select   : 1 ;
  unsigned int interrupt_enable     : 1 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;
 
} ECNT_FIELDS ;
 
typedef volatile union
{
  ECNT_FIELDS  ecnt   ;
  HET_MEMORY   memory ;
} ECNT_INSTRUCTION;


/*---------------------------------------------*/
/* DJNZ INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct djnz_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;          
  unsigned int op_code              : 4 ;
  unsigned int                      : 1 ;
  unsigned int sub_opcode           : 2 ;
  unsigned int                      : 5 ;

  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int                      : 1 ;
  unsigned int cond_addr            : 8 ;
  unsigned int                      : 9 ;
  unsigned int t_register_select    : 1 ;
  unsigned int ab_register_select   : 1 ;
  unsigned int interrupt_enable     : 1 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;

} DJNZ_FIELDS ;      

typedef volatile union 
{
  DJNZ_FIELDS  djnz   ; 
  HET_MEMORY   memory ;
} DJNZ_INSTRUCTION;


/*---------------------------------------------*/
/* PWCNT INSTRUCTION                           */
/*---------------------------------------------*/
typedef volatile struct pwcnt_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int hr_lr                : 1 ;
  unsigned int count_mode           : 2 ;
  unsigned int                      : 5 ;

  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int en_pin_action        : 1 ;
  unsigned int cond_addr            : 8 ;
  unsigned int pin_select           : 5 ;
  unsigned int                      : 2 ;
  unsigned int pin_action           : 1 ;
  unsigned int opposite_action      : 1 ;
  unsigned int t_register_select    : 1 ;
  unsigned int ab_register_select   : 1 ;
  unsigned int interrupt_enable     : 1 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;
 
} PWCNT_FIELDS ;      

typedef volatile union 
{
  PWCNT_FIELDS  pwcnt ;
  HET_MEMORY   memory ;
} PWCNT_INSTRUCTION;


/*---------------------------------------------*/
/* WCAP INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct wcap_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int hr_lr                : 1 ;
  unsigned int                      : 7 ;
  
  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int cond_addr            : 8 ;
  unsigned int pin_select           : 5 ;
  unsigned int capture_condition    : 2 ;
  unsigned int                      : 2 ;
  unsigned int t_register_select    : 1 ;
  unsigned int ab_register_select   : 1 ;
  unsigned int interrupt_enable     : 1 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 25 ;
/*TCJ*/
/*unsigned int hr_data              : 5 ;*/

} WCAP_FIELDS ;      

typedef volatile union 
{
  WCAP_FIELDS  wcap   ; 
  HET_MEMORY   memory ;
} WCAP_INSTRUCTION;
 


/*---------------------------------------------*/
/* BR   INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct br_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int                      : 8 ;

  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int cond_addr            : 8 ;
  unsigned int pin_select           : 5 ;
  unsigned int branch_condition     : 3 ;
  unsigned int                      : 1 ;
  unsigned int                      : 1 ;
  unsigned int                      : 1 ;
  unsigned int interrupt_enable     : 1 ;
 
  unsigned int                      : 7 ;
  unsigned int data                 : 25 ;

/*TCJ*/
/*unsigned int hr_data              : 5 ;*/
 
} BR_FIELDS ;      

typedef volatile union 
{
  BR_FIELDS  br     ; 
  HET_MEMORY memory ;
} BR_INSTRUCTION;

 
/*---------------------------------------------*/
/* SHFT INSTRUCTION                            */
/*---------------------------------------------*/
typedef volatile struct shft_format                     
{
  unsigned int                      : 11 ;
  unsigned int brk                  : 1 ;
  unsigned int next_program_address : 8 ;
  unsigned int op_code              : 4 ;
  unsigned int                      : 4 ;
  unsigned int shift_mode           : 4 ;
 
  unsigned int                      : 10 ;
  unsigned int auto_read_clear      : 1 ;
  unsigned int previous_bit         : 1 ;
  unsigned int cond_addr            : 8 ;
  unsigned int pin_select           : 5 ;
  unsigned int shift_condition      : 2 ;
  unsigned int                      : 2 ;
  unsigned int t_register_select    : 1 ;
  unsigned int ab_register_select   : 1 ;
  unsigned int interrupt_enable     : 1 ;

  unsigned int                      : 7 ;
  unsigned int data                 : 20 ;
  unsigned int                      : 5 ;

} SHFT_FIELDS ;      

typedef volatile union 
{
  SHFT_FIELDS  shft   ; 
  HET_MEMORY   memory ;
} SHFT_INSTRUCTION;

⌨️ 快捷键说明

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