📄 mpr084.h
字号:
/*!
* \file MPR084.h
* \brief Defines and macros for MPR084 Chip and I2C
* \version $Revision: 1.3 $
* \author Anthony Huereca
*/
#ifndef _MPR084_H_
#define _MPR084_H_
#include <MCF51JM128.h>
/*******************************************************************/
#define MPR084_I2C_ADDRESS 0x5D
#define LOG_LENGTH 8
/* MPR084 registers */
#define FIFO_REGISTER 0x00
#define FAULT_REGISTER 0x01
#define TOUCH_STATUS_REGISTER 0x02
#define TOUCH_CONFIGURATION_REGISTER 0x03
#define SENSITIVITY_REGISTER1 0x04
#define SENSITIVITY_REGISTER2 0x05
#define SENSITIVITY_REGISTER3 0x06
#define SENSITIVITY_REGISTER4 0x07
#define SENSITIVITY_REGISTER5 0x08
#define SENSITIVITY_REGISTER6 0x09
#define SENSITIVITY_REGISTER7 0x0A
#define SENSITIVITY_REGISTER8 0x0B
#define ELECTRODE_CHANNEL 0x0C
#define MAX_TOUCH 0x0D
#define MASTER_TICK_COUNTER_REGISTER 0x0E
#define TOUCH_ACQUISITION_SAMPLE_PERIOD_REGISTER 0x0F
#define SOUNDER_CONFIGURATION_REGISTER 0x10
#define LOW_POWER_CONFIGURATION_REGISTER 0x11
#define STUCK_KEY_TIMEOUT_REGISTER 0x12
#define CONFIGURATION_REGISTER 0x13
#define SENSOR_INFORMATION_REGISTER 0x14
#define ATTN PTCD_PTCD6 /* ATTN Pin */
#define TOGGLE_ATTN ATTN=1;Pause();ATTN=0;Pause();ATTN=1; /* ATTN pin toggle */
#define i2c_DisableAck() IIC1C1_TXAK = 1
#define i2c_RepeatedStart() IIC1C1 |= 0x04;\
#define i2c_Start() IIC1C1 |= 0x10;\
IIC1C1_MST = 1
#define i2c_Stop() IIC1C1_MST = 0;\
IIC1C1_TX = 0
#define i2c_EnterRxMode() IIC1C1_TX = 0;\
IIC1C1_TXAK = 0
#define i2c_Wait() while(!IIC1S_IICIF) {} \
IIC1S_IICIF = 1;
#define i2c_write_byte(data) IIC1D = data
#define MWSR 0x00 /* Master write */
#define MRSW 0x01 /* Master read */
/*********************************** Prototype ***********************************/
void init_I2C(void);
void MPR084_init(void);
void IIC_StartTransmission (byte SlaveID, byte Mode);
void MPR084WriteRegister(byte u8RegisterAddress, byte u8Data);
byte u8MPR084ReadRegister(byte u8RegisterAddress);
void MPR084SetLowPower();
void MPR084SetNormalPower();
byte LastKeyPressed();
byte KeyPressed();
byte ProximitySensorRead();
byte SlideLeftUp();
byte SlideLeftDown();
byte SlideRightUp();
byte SlideRightDown();
byte ExitApp();
byte SecretCode(byte);
void Pause(void);
void AddTouch(byte key);
extern interrupt VectorNumber_Virq void IRQ_ISR (void);
/*******************************************************************/
#endif /* _MPR084_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -