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

📄 csa_1.h

📁 电容感应程序
💻 H
字号:
//*****************************************************************************
//*****************************************************************************
//  FILENAME: CSA_1.h
//   @Versions@
//  Generated by PSoC Designer ver 4.3  b1884 : 23 June, 2006
//
//  DESCRIPTION: CSA User Module C Language interface file
//               for the 20x34 PSoC family of devices
//-----------------------------------------------------------------------------
//  Copyright (c) Cypress Semiconductor 2000-2006. All Rights Reserved.
//*****************************************************************************
//*****************************************************************************

#include <m8c.h>

#define CSA_1_BUTTONS_EXIST 0x7
#define CSA_1_SLIDERS_EXIST 0x1

// Low Level scan API
#pragma fastcall16 CSA_1_Start
#pragma fastcall16 CSA_1_Stop
#pragma fastcall16 CSA_1_ClearSensors
#pragma fastcall16 CSA_1_wReadSensor
#pragma fastcall16 CSA_1_wGetPortPin
#pragma fastcall16 CSA_1_EnableSensor
#pragma fastcall16 CSA_1_DisableSensor
#pragma fastcall16 CSA_1_ScanSensor
#pragma fastcall16 CSA_1_ScanAllSensors
// Legacy function name labels below, do not use for new designs
#pragma fastcall16 CSA_1_iGetPortPin
         
// High Level API
#pragma fastcall16 CSA_1_UpdateSensorBaseline
#pragma fastcall16 CSA_1_bIsSensorActive
#pragma fastcall16 CSA_1_bIsAnySensorActive
#pragma fastcall16 CSA_1_SetDefaultFingerThresholds
#pragma fastcall16 CSA_1_InitializeBaselines
#pragma fastcall16 CSA_1_UpdateAllBaselines
#pragma fastcall16 CSA_1_wGetCentroidPos

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

extern void CSA_1_Start(void);
extern void CSA_1_Stop(void);
extern void CSA_1_ClearSensors(void);
extern WORD CSA_1_wReadSensor(BYTE bSensor);
extern WORD CSA_1_wGetPortPin(BYTE bSensor);
extern void CSA_1_EnableSensor(BYTE bMask, BYTE bPort);
extern void CSA_1_DisableSensor(BYTE bMask, BYTE bPort);
extern void CSA_1_ScanSensor(BYTE bSensor);
extern void CSA_1_ScanAllSensors(void);
// Legacy function name labels below, do not use for new designs
extern WORD CSA_1_iGetPortPin(BYTE bSensor);

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

extern void CSA_1_UpdateSensorBaseline(BYTE bSensorNum);
extern BYTE CSA_1_bIsSensorActive(BYTE bSensorNum);
extern BYTE CSA_1_bIsAnySensorActive(void);
extern void CSA_1_SetDefaultFingerThresholds(void);
extern void CSA_1_InitializeBaselines(void);
extern void CSA_1_UpdateAllBaselines(void);
#if CSA_1_SLIDERS_EXIST
extern WORD CSA_1_wGetCentroidPos(BYTE bSnsGroup);
#endif

//--------------------------------------------------
// Variables for CSA_1.
//--------------------------------------------------

extern BYTE CSA_1_baSnsOnMask[];
extern WORD CSA_1_waSnsResult[];
extern WORD CSA_1_waSnsBaseline[];
extern WORD CSA_1_waSnsDiff[];
extern BYTE CSA_1_baDACCodeBaseline[];
extern BYTE CSA_1_bfStatus;

#if CSA_1_BUTTONS_EXIST
extern BYTE CSA_1_baBtnFThreshold[];
#endif

#if CSA_1_SLIDERS_EXIST
extern WORD CSA_1_wCtrdPos;
extern BYTE CSA_1_baCtrdPkPos[];
extern WORD CSA_1_waCtrdPkValue[];
#endif

//--------------------------------------------------
// Constants for CSA_1 API's.
//--------------------------------------------------

#define CSA_1_CONTROL_REG_START_BIT              ( 0x01 )

//--------------------------------------------------
// Constants for CSA_1 user defined values
//--------------------------------------------------

// Scan Modes
#define CSA_1_SCAN_CONTINUOUS                      0x01
#define CSA_1_SCAN_ONCE                            0x00

// Scan Status
#define CSA_1_SCAN_ACTIVE                          0x10
#define CSA_1_SCAN_SET_COMPLETE                    0x20

// Sizes
#define CSA_1_ButtonCount                          0x7
#define CSA_1_SliderCount                          0x1
#define CSA_1_TotalSensorCount                     0xf

//-------------------------------------------------
// Register Addresses for CSA_1
//-------------------------------------------------
#pragma ioport  CSA_1_CapSense_CR0_REG: 0x0a0              // Analog block control Register 1
BYTE            CSA_1_CapSense_CR0_REG;
#pragma ioport  CSA_1_CapSense_CR1_REG: 0x0a1              // Analog block control Register 2
BYTE            CSA_1_CapSense_CR1_REG;
#pragma ioport  CSA_1_CapSense_CR2_REG: 0x0a2              // Analog block control Register 2
BYTE            CSA_1_CapSense_CR2_REG;
#pragma ioport  CSA_1_CapSense_CR3_REG: 0x0a3              // Analog block control Register 2
BYTE            CSA_1_CapSense_CR3_REG;
#pragma ioport  CSA_1_CapSense_STAT_REG:    0x0a6          // Analog block control Register 2
BYTE            CSA_1_CapSense_STAT_REG;
#pragma ioport  CSA_1_CapSense_CNTH_REG:    0x0a5          // Analog block control Register 2
BYTE            CSA_1_CapSense_CNTH_REG;
#pragma ioport  CSA_1_CapSense_CNTL_REG:    0x0a4          // Analog block control Register 2
BYTE            CSA_1_CapSense_CNTL_REG;
#pragma ioport  CSA_1_CapSense_TIMER_REG:   0x0a7          // Analog block control Register 2
BYTE            CSA_1_CapSense_TIMER_REG;
#pragma ioport  CSA_1_CapSense_SLEW_REG:    0x0a8          // Analog block control Register 2
BYTE            CSA_1_CapSense_SLEW_REG;
#pragma ioport  CSA_1_CMP_CR0_REG:  0x07a                  // Analog block control Register 2
BYTE            CSA_1_CMP_CR0_REG;
#pragma ioport  CSA_1_CMP_CR1_REG:  0x07b                  // Analog block control Register 2
BYTE            CSA_1_CMP_CR1_REG;
#pragma ioport  CSA_1_CMP_MUX_REG:  0x079                  // Analog block control Register 2
BYTE            CSA_1_CMP_MUX_REG;
#pragma ioport  CSA_1_P0_MUX_REG:   0x1d8                  // Analog block control Register 2
BYTE            CSA_1_P0_MUX_REG;
#pragma ioport  CSA_1_P1_MUX_REG:   0x1d9                  // Analog block control Register 2
BYTE            CSA_1_P1_MUX_REG;
#pragma ioport  CSA_1_P2_MUX_REG:   0x1da                  // Analog block control Register 2
BYTE            CSA_1_P2_MUX_REG;
#pragma ioport  CSA_1_P3_MUX_REG:   0x1db                  // Analog block control Register 2
BYTE            CSA_1_P3_MUX_REG;

//-------------------------------------------------
// CSA_1 Macro 'Functions'
//-------------------------------------------------

#define CSA_1_EnableInt_M   \
   M8C_EnableIntMask(  CSA_1_INT_REG, CSA_1_INT_MASK )

#define CSA_1_DisableInt_M  \
   M8C_DisableIntMask( CSA_1_INT_REG, CSA_1_INT_MASK )

// end of file CSA_1.h

⌨️ 快捷键说明

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