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

📄 mpr083.h

📁 LED APPLICATION MCF51JM
💻 H
字号:
/*!
 * \file    mpr083.h
 * \brief   Defines and macros for MPR083 Chip and I2C
 * \version $Revision: 1.1 $
 * \author  Anthony Huereca
 */

#ifndef _MPR083_H_
#define _MPR083_H_

#include <MCF51JM128.h>

/*******************************************************************/

#define MPR083_I2C_ADDRESS                         0x4D
#define LOG_LENGTH                                 8


/* MPR083 registers */
#define FIFO_REGISTER                              0x00
#define FAULT_REGISTER                             0x01
#define ROTARY_STATUS_REGISTER                     0x02
#define ROTARY_CONFIGURATION_REGISTER              0x03
#define SENSITIVITY_REGISTER                       0x04
#define MASTER_TICK_COUNTER_REGISTER               0x05
#define TOUCH_ACQUISITION_SAMPLE_PERIOD_REGISTER   0x06
#define SOUNDER_CONFIGURATION_REGISTER             0x07
#define LOW_POWER_CONFIGURATION_REGISTER           0x08
#define STUCK_KEY_TIMEOUT_REGISTER                 0x09
#define CONFIGURATION_REGISTER                     0x0A
#define SENSOR_INFORMATION_REGISTER                0x0B

#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 MPR083_init(void);

void IIC_StartTransmission (byte SlaveID, byte Mode);
void MPR083WriteRegister(byte u8RegisterAddress, byte u8Data);
byte u8MPR083ReadRegister(byte u8RegisterAddress);

void Pause(void);

extern interrupt VectorNumber_Virq void IRQ_ISR (void);
/*******************************************************************/

#endif /* _MPR083_H_ */

⌨️ 快捷键说明

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