clock.h

来自「一个关于s1d13806的应用程序」· C头文件 代码 · 共 106 行

H
106
字号
/*
**===========================================================================
** CLOCK.H
**---------------------------------------------------------------------------
** Copyright (c) 1999 Epson Research and Development, Inc.
** All Rights Reserved.
**===========================================================================
*/

#ifndef FREQ_FEATCLK

typedef enum
{
   FREQ_6000 = 0,   /*  6.000 MHz */
   FREQ_10000,      /* 10.000 MHz */
   FREQ_14318,      /* 14.318 MHz */
   FREQ_17734,      /* 17.734 MHz */
   FREQ_20000,      /* 20.000 MHz */
   FREQ_24000,      /* 24.000 MHz */
   FREQ_25000,      /* 25.000 MHz */
   FREQ_25175,      /* 25.175 MHz */
   FREQ_28318,      /* 28.318 MHz */
   FREQ_30000,      /* 30.000 MHz */
   FREQ_31500,      /* 31.500 MHz */
   FREQ_32000,      /* 32.000 MHz */
   FREQ_33000,      /* 33.000 MHz */
   FREQ_33333,      /* 33.333 MHz */
   FREQ_34000,      /* 34.000 MHz */
   FREQ_35000,      /* 35.000 MHz */
   FREQ_36000,      /* 36.000 MHz */
   FREQ_40000,      /* 40.000 MHz */
   FREQ_49500,      /* 49.500 MHz */
   FREQ_50000,      /* 50.000 MHz */
   FREQ_56250,      /* 56.250 MHz */
   FREQ_65000,      /* 65.000 MHz */
   FREQ_80000,      /* 80.000 MHz */

   MAX_FREQ_INDEX
}FREQINDEX;


#define FREQ_FEATCLK   FREQ_17734
       
typedef enum
{
   CLKI = 0,
   CLKI2
} CLOCKSELECT;


#ifdef __GNUC__
#define PACKED __attribute__((packed))
#else
#define PACKED
#endif

typedef unsigned char  BYTE;
typedef unsigned short WORD;
typedef unsigned long  DWORD;
typedef unsigned int   UINT;
typedef          int   BOOL;

#endif  // for #ifndef FREQ_FEATCLK


#ifndef OK
#define OK   1
#endif

#ifndef FAILED
#define FAILED  0
#endif

/*-------------------------------------------------------------------------*/

#define CLK_VREG0   0x00
#define CLK_VREG1   0x01
#define CLK_VREG2   0x02
#define CLK_MREG    0x03
#define CLK_PWRDWN  0x04
#define CLK_CTRL    0x06

/*
** FEATCLK can only be used in ProgramClockChip(), argument "reg"
*/
#define FEATCLK     0x07  /* FEATCLK is not programmable */


typedef struct
   {
   char szFreq[8];    /* eg. "25.175" */
   DWORD dwFreq;      /* eg. 25175    */
   DWORD dwProgBits;  /* eg. 0x01A8BC */
   } PACKED defFreq;

extern defFreq ClockBits[MAX_FREQ_INDEX];

void ClockChipBits2Freq(DWORD bits, DWORD *dwFreq);
int GetClockChipBits(int FreqIndex, int reg, DWORD *bits, char **szFreq);

/*-------------------------------------------------------------------------*/

int SetClock(CLOCKSELECT clock, FREQINDEX FreqIndex, BYTE *pRegisterBaseAddress);

/*-------------------------------------------------------------------------*/

⌨️ 快捷键说明

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