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

📄 csd_1.h

📁 cypresscy74294ic键盘和鼠标原码
💻 H
字号:
//*****************************************************************************
//*****************************************************************************
//  FILENAME: CSD_1.h
//   Version: 1.0, Updated on
//  Generated by PSoC Designer ver 4.4  b1884 : 14 Jan, 2007
//
//  DESCRIPTION: CSD User Module C Language interface file for the 21x34 PSoC
//               family of devices
//-----------------------------------------------------------------------------
//  Copyright (c) Cypress Semiconductor 2006. All Rights Reserved.
//*****************************************************************************
//*****************************************************************************

#include <m8c.h>

//--------------------------------------------------
// Constants for CSD_1
//--------------------------------------------------

#define CSD_1_TotalSensorCount                    0x24
#define CSD_1_ButtonCount                         0x24
#define CSD_1_SliderCount                         0x0

#define CSD_1_BUTTONS_EXIST                       0x24
#define CSD_1_SLIDERS_EXIST                       0x0

//--------------------------------------------------
// Constants for Scan Speed values
//--------------------------------------------------
#define CSD_1_FAST_SPEED                          0x01
#define CSD_1_NORMAL_SPEED                        0x02
#define CSD_1_SLOW_SPEED                          0x03
#define CSD_1_SCANNING_SPEED                      0x1

//--------------------------------------------------
// Constants for Thresholds values
//--------------------------------------------------
#define CSD_1_FINGER_THRESHOLD                    0x1eh
#define CSD_1_NOISE_THRESHOLD                     0xah
#define CSD_1_BASELINE_UPDATE_THRESHOLD           0x14h
#define CSD_1_HYSTERESIS                          0xa

//--------------------------------------------------
// Constants for Resolution values
//--------------------------------------------------
#define CSD_1_MIN_RESOLUTION                      9
#define CSD_1_MAX_RESOLUTION                      16
#define CSD_1_RESOLUTION                         0xe

//--------------------------------------------------
// Variables for CSD_1.
//--------------------------------------------------

extern WORD CSD_1_waSnsResult[];
extern WORD CSD_1_waSnsBaseline[];
extern WORD CSD_1_waSnsDiff[];
extern BYTE CSD_1_baSnsOnMask[];

#if CSD_1_BUTTONS_EXIST
extern BYTE CSD_1_baBtnFThreshold[];
#endif

// Low Level scan API
#pragma fastcall16 CSD_1_Start
#pragma fastcall16 CSD_1_Stop
#pragma fastcall16 CSD_1_ScanSensor
#pragma fastcall16 CSD_1_ScanAllSensors
#pragma fastcall16 CSD_1_ClearSensors
#pragma fastcall16 CSD_1_wReadSensor
#pragma fastcall16 CSD_1_wGetPortPin
#pragma fastcall16 CSD_1_EnableSensor
#pragma fastcall16 CSD_1_DisableSensor
#pragma fastcall16 CSD_1_SetScanMode
#pragma fastcall16 CSD_1_SetRefValue

// High Level API
#pragma fastcall16 CSD_1_UpdateSensorBaseline
#pragma fastcall16 CSD_1_bIsSensorActive
#pragma fastcall16 CSD_1_bIsAnySensorActive
#pragma fastcall16 CSD_1_SetDefaultFingerThresholds
#pragma fastcall16 CSD_1_InitializeSensorBaseline
#pragma fastcall16 CSD_1_InitializeBaselines
#pragma fastcall16 CSD_1_UpdateAllBaselines
#pragma fastcall16 CSD_1_wGetCentroidPos

//-------------------------------------------------
// C prototypes of the CSD_1 API.
//-------------------------------------------------

extern void CSD_1_Start(void);
extern void CSD_1_Stop(void);
extern void CSD_1_ScanSensor(BYTE bSensor);
extern void CSD_1_ScanAllSensors(void);
extern void CSD_1_ClearSensors(void);
extern WORD CSD_1_wReadSensor(BYTE bSensor);
extern WORD CSD_1_wGetPortPin(BYTE bSensor);
extern void CSD_1_EnableSensor(BYTE bMask, BYTE bPort);
extern void CSD_1_DisableSensor(BYTE bMask, BYTE bPort);
extern void CSD_1_SetScanMode(BYTE bSpeed, BYTE bResolution);
extern void CSD_1_SetRefValue(BYTE bRefValue);

//-------------------------------------------------
// High level functions
//-------------------------------------------------

extern void CSD_1_UpdateSensorBaseline(BYTE bSensorNum);
extern BYTE CSD_1_bIsSensorActive(BYTE bSensorNum);
extern BYTE CSD_1_bIsAnySensorActive(void);
extern void CSD_1_SetDefaultFingerThresholds(void);
extern void CSD_1_InitializeSensorBaseline(BYTE bSensorNum);
extern void CSD_1_InitializeBaselines(void);
extern void CSD_1_UpdateAllBaselines(void);
#if CSD_1_SLIDERS_EXIST
extern WORD CSD_1_wGetCentroidPos(BYTE bSnsGroup);
#endif

//-------------------------------------------------
// Register Addresses for CSD_1
//-------------------------------------------------
#pragma ioport  CSD_1_ACB_CONTROL0_REG: 0x075
BYTE            CSD_1_ACB_CONTROL0_REG;
#pragma ioport  CSD_1_ACB_CONTROL1_REG: 0x076
BYTE            CSD_1_ACB_CONTROL1_REG;
#pragma ioport  CSD_1_ACB_CONTROL2_REG: 0x077
BYTE            CSD_1_ACB_CONTROL2_REG;
#pragma ioport  CSD_1_ACB_CONTROL3_REG: 0x074
BYTE            CSD_1_ACB_CONTROL3_REG;

#pragma ioport  CSD_1_CNT_FUNC_REG: 0x120                  // CNT Function Register
BYTE            CSD_1_CNT_FUNC_REG;
#pragma ioport  CSD_1_CNT_IN_REG:   0x121                  // CNT Input Register
BYTE            CSD_1_CNT_IN_REG;
#pragma ioport  CSD_1_CNT_OUT_REG:  0x122                  // CNT Output Register
BYTE            CSD_1_CNT_OUT_REG;
#pragma ioport  CSD_1_CNT_COUNTER_REG:  0x020              // CNT Counter Register
BYTE            CSD_1_CNT_COUNTER_REG;
#pragma ioport  CSD_1_CNT_PERIOD_REG:   0x021              // CNT Period Refister
BYTE            CSD_1_CNT_PERIOD_REG;
#pragma ioport  CSD_1_CNT_COMPARE_REG:  0x022              // CNT Compare Register
BYTE            CSD_1_CNT_COMPARE_REG;
#pragma ioport  CSD_1_CNT_CONTROL_REG:  0x023              // CNT Control Register
BYTE            CSD_1_CNT_CONTROL_REG;

#pragma ioport  CSD_1_PRS_FUNC_LSB_REG: 0x124              // PRS Function register LSB
BYTE            CSD_1_PRS_FUNC_LSB_REG;
#pragma ioport  CSD_1_PRS_FUNC_MSB_REG: 0x128              // PRS Function register MSB
BYTE            CSD_1_PRS_FUNC_MSB_REG;
#pragma ioport  CSD_1_PRS_IN_LSB_REG:   0x125              // PRS Input register LSB
BYTE            CSD_1_PRS_IN_LSB_REG;
#pragma ioport  CSD_1_PRS_IN_MSB_REG:   0x129              // PRS Input register MSB
BYTE            CSD_1_PRS_IN_MSB_REG;
#pragma ioport  CSD_1_PRS_OUT_LSB_REG:  0x126              // PRS Output register LSB
BYTE            CSD_1_PRS_OUT_LSB_REG;
#pragma ioport  CSD_1_PRS_OUT_MSB_REG:  0x12a              // PRS Output register MSB
BYTE            CSD_1_PRS_OUT_MSB_REG;
#pragma ioport  CSD_1_PRS_SHIFT_LSB_REG:    0x024          // PRS Shift register LSB
BYTE            CSD_1_PRS_SHIFT_LSB_REG;
#pragma ioport  CSD_1_PRS_SHIFT_MSB_REG:    0x028          // PRS Shift register MSB
BYTE            CSD_1_PRS_SHIFT_MSB_REG;
#pragma ioport  CSD_1_PRS_POLY_LSB_REG: 0x025              // PRS Polynomial register LSB
BYTE            CSD_1_PRS_POLY_LSB_REG;
#pragma ioport  CSD_1_PRS_POLY_MSB_REG: 0x029              // PRS Polynomial register MSB
BYTE            CSD_1_PRS_POLY_MSB_REG;
#pragma ioport  CSD_1_PRS_SEED_LSB_REG: 0x026              // PRS Seed register LSB
BYTE            CSD_1_PRS_SEED_LSB_REG;
#pragma ioport  CSD_1_PRS_SEED_MSB_REG: 0x02a              // PRS Seed register MSB
BYTE            CSD_1_PRS_SEED_MSB_REG;
#pragma ioport  CSD_1_PRS_CONTROL_LSB_REG:  0x027          // PRS Control register LSB
BYTE            CSD_1_PRS_CONTROL_LSB_REG;
#pragma ioport  CSD_1_PRS_CONTROL_MSB_REG:  0x02b          // PRS Control register MSB
BYTE            CSD_1_PRS_CONTROL_MSB_REG;

⌨️ 快捷键说明

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