kc_funcs.h

来自「电力变电站RTU监控软件(80C196NT单片机) 遥控」· C头文件 代码 · 共 151 行

H
151
字号
/*
 * @(#)kc_funcs.h	1.3
 * Special functions for 80C196KC and compatible processors.
 */
#ifndef _kc_funcs_h
#define _kc_funcs_h

void		enable(void);
void		disable(void);

void		enable_pts(void);
void		disable_pts(void);

void		power_down(void);
void		idle(void);

/****************************************************************************/
/* Define typedefs for PTS Control Blocks of 80C196KC.			    */
/****************************************************************************/

/*
 * Single Transfer PTS Control Block
 */
typedef struct STran_ptscb_t
{
    unsigned char	ptscount;
    struct
    {
	unsigned int	    di : 1;
	unsigned int	    si : 1;
	unsigned int	    du : 1;
	unsigned int	    su : 1;
	unsigned int	    b_w : 1;
	unsigned int	    mode : 3;
    } ptscon;
    void	       *ptssrc;
    void	       *ptsdst;
    int 		:16;				    /* unused */
} STran_ptscb;


/*
 * Block Transfer PTS Control Block
 */
typedef struct BTran_ptscb_t
{
    unsigned char	ptscount;
    struct
    {
	unsigned int	    di : 1;
	unsigned int	    si : 1;
	unsigned int	    du : 1;
	unsigned int	    su : 1;
	unsigned int	    b_w : 1;
	unsigned int	    mode : 3;
    } ptscon;
    void	       *ptssrc;
    void	       *ptsdst;
    unsigned char	ptsblock;
    int 		:8;				    /* unused */
} BTran_ptscb;


/*
 * A/D Mode PTS Control Block
 */
typedef struct AD_ptscb_t
{
    unsigned char	ptscount;
    struct
    {
	unsigned int	    const1 : 3;
	unsigned int	    updt   : 1;
	unsigned int	    const2 : 1;
	unsigned int	    mode   : 3;
    } ptscon;
    unsigned int	s_d;
    unsigned int	reg;
    int 		:16;				    /* unused */
} AD_ptscb;


/*
 *  HSI Mode PTS Control Block
 */
typedef struct HSI_ptscb_t
{
    unsigned char	ptscount;
    struct
    {
	unsigned int	    const1 : 3;
	unsigned int	    updt   : 1;
	unsigned int	    const2 : 1;
	unsigned int	    mode   : 3;
    } ptscon;
    unsigned int	ptsdst;
    unsigned int	:16;				    /* unused */
    unsigned char	ptsblock;
    int 		: 8;				    /* unused */
} HSI_ptscb;


/*
 * HSO Mode PTS Control Block
 */
typedef struct HSO_ptscb_t
{
    unsigned char	ptscount;
    struct {
	unsigned int	    const1 : 3;
	unsigned int	    updt   : 1;
	unsigned int	    const2 : 1;
	unsigned int	    mode   : 3;
    } ptscon;
    unsigned int	ptssrc;
    unsigned int	:16;				    /* unused */
    unsigned char	ptsblock;
    int 		: 8;				    /* unused */
} HSO_ptscb;


/*
 *  PTS A/D Table
 */
typedef struct AD_tab_t
{
    unsigned char	AD_command;
    unsigned int	AD_result;
} AD_tab;

/*
 *  PTS HSI Table
 */
typedef struct HSI_tab_t
{
    unsigned char	HSI_status_lo;
    unsigned char	HSI_status_hi;
    unsigned int	HSI_time;
} HSI_tab;

/*
 *  PTS HSO Table
 */
typedef struct HSO_tab_t
{
    unsigned char	HSO_command;
    unsigned int	HSO_time;
} HSO_tab;

#endif	/* _kc_funcs_h */

⌨️ 快捷键说明

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