#include <msp430.h>
unsigned char I2CBUF;
unsigned char checkbit;
#define SCL_H (P10OUT |= BIT2) // P10.2为SCL
#define SCL_L (P10OUT &= ~BIT2)
#define SDA_H (P10OUT |= BIT1) //p10.1为SDA
#define SDA_L (P10OUT &= ~BIT1)
#define SDA_OUT (P10DIR |= BIT1)
#define SDA_IN (P10DIR &= ~ BIT1)
void I2C_Start(void) //I2C开始信号
{
SDA_OUT;
SCL_L;
SDA_H;
__delay_cycles(5);
SCL_H;
__delay_cycles(5);
SDA_L;
__delay_cycles(5);
SCL_L;
__delay_cycles(5);
}
unsigned char testACK(void) {
SDA_IN;
__delay_cycles(5);
SCL_H;
__delay_cycles(5);
checkbit = (P10IN & BIT1) >> 4;
unsigned char I2CBUF;
unsigned char checkbit;
#define SCL_H (P10OUT |= BIT2) // P10.2为SCL
#define SCL_L (P10OUT &= ~BIT2)
#define SDA_H (P10OUT |= BIT1) //p10.1为SDA
#define SDA_L (P10OUT &= ~BIT1)
#define SDA_OUT (P10DIR |= BIT1)
#define SDA_IN (P10DIR &= ~ BIT1)
void I2C_Start(void) //I2C开始信号
{
SDA_OUT;
SCL_L;
SDA_H;
__delay_cycles(5);
SCL_H;
__delay_cycles(5);
SDA_L;
__delay_cycles(5);
SCL_L;
__delay_cycles(5);
}
unsigned char testACK(void) {
SDA_IN;
__delay_cycles(5);
SCL_H;
__delay_cycles(5);
checkbit = (P10IN & BIT1) >> 4;