/************************************************** ** I2C - prog ** *************************************************** ** from: KoF ** ** date: 07.2004 ** ** mail: King_of_Freaks@gmx.net ** ** King_of_Freaks@ist-einmalig.de ** *************************************************** ** compiler: mspgcc ** *************************************************** ** simple I2C-basic funtions, to read and write ** ** @ I2C bus. the msp430 (i use an mspf149) is ** ** as master device. it generates an clock (SCL) ** ** @ P6.2 and data (SDA) @ P6.3. ** *************************************************** ** till now, i couldn`t test it, so i don`t know ** ** if it`s working :( ** ** please try it, correct it if necessary and ** ** reporte me, please ** **************************************************/ #include "io.h" #include "signal.h" //P6.2 SCL //P6.3 SDA #define TRUE 1 #define FALSE 0 #define SDA_1 P6OUT |= BIT3 //SDA = 1 #define SDA_0 P6OUT &=~ BIT3 //SDA = 0 #define SCL_1 P6OUT |= BIT2 //SCL = 1 #define SCL_0 P6OUT &=~ BIT2 //SCL = 0 #define DIR_IN P6DIR &=~ BIT3; SDA_1 #define DIR_OUT P6DIR |= BIT3 #define SDA_IN ((P6IN >> 3) & 0x01) //lese SDA typedef unsigned char byte; typedef unsigned int word; typedef unsigned long dword; typedef unsigned char uchar; typedef unsigned int uint; typedef unsigned long ulong; typedef unsigned char bool; void I2C_vDelay(unsigned int n) { unsigned int i; for (i=0; i