I checked the latest headers from TI, and they have indeed changed. The
original I2CDR definition has been removed completely. That sounds like
it might have compatibility implications. However, I changed our header
file to reflect TI's latest. There are now definitions for I2CDRB and
I2CDRW. There is no definition for I2CDR.
Steve
Steffen Netz wrote:
Hi,
in the TI-UG is mentioned a difference in I2CDRW/I2CDRB as
Word/Byte-Registers.
in the IAR-File msp430x16x.h, there are the following lines:
------cite--------------------------------------
//#define I2CDRB U0RXBUF_ /* I2C Data for Byte access */
#define I2CDRB_ U0RXBUF_ /* I2C Data for Byte access */
//#define I2CDRW U0RXBUF_ /* I2C Data for Word access */
#define I2CDRW_ U0RXBUF_ /* I2C Data for Word access */
#ifdef __IAR_SYSTEMS_ICC__
__no_init union
{
union
{
/* USART 0 Receive Buffer */
volatile READ_ONLY unsigned char U0RXBUF;
volatile unsigned char I2CDRB;
volatile unsigned short I2CDRW;
};
struct
{
/* USART 0 Transmit Buffer */
unsigned char dummy;
volatile unsigned char U0TXBUF;
};
} @ 0x0076;
#else
DEFC( U0RXBUF , U0RXBUF_)
DEFC( I2CDRB , U0RXBUF_)
DEFW( I2CDRW , U0RXBUF_)
#endif