Part Number: MSP430FR2512
Hi,
I have a big problem with I2C communication.
Code is generated with Captivate Design Center and the initialization looks like this:
//
// Re-map EUSCI B0 pins to secondary locations
// This frees up CapTIvate IOs
//
SYSCFG2 |= USCIBRMP;
// P1.0: OUTPUT LOW
// P1.1: OUTPUT LOW
// P1.2: OUTPUT LOW
// P1.3: OUTPUT LOW
// P1.4: UCA0 UART TXD if (DEFAULT_OSC_SELECTION == CS_XT1CLK_SELECT), else OUTPUT LOW
// P1.5: UCA0 UART RXD if (DEFAULT_OSC_SELECTION == CS_XT1CLK_SELECT), else OUTPUT LOW
// P1.6: OUTPUT LOW
// P1.7: OUTPUT LOW
#if (DEFAULT_OSC_SELECTION == CS_XT1CLK_SELECT)
P1OUT = (0);
P1DIR = (GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN6 | GPIO_PIN7);
P1SEL0 = (GPIO_PIN4 | GPIO_PIN5);
P1SEL1 = (0);
#else
P1OUT = (0);
P1DIR = (GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
P1SEL0 = (0);
P1SEL1 = (0);
#endif
// P2.0: UCA0 UART TXD if (DEFAULT_OSC_SELECTION == CS_REFOCLK_SELECT), else XOUT
// P2.1: UCA0 UART RXD if (DEFAULT_OSC_SELECTION == CS_REFOCLK_SELECT), else XIN
// P2.2: SYNC (SET OUTPUT LOW UNLESS USED)
// P2.3: OUTPUT LOW
// P2.4: IRQ (OPEN DRAIN), set high to start
// P2.5: UCB0 I2C SDA
// P2.6: UCB0 I2C SCL
#if (DEFAULT_OSC_SELECTION == CS_XT1CLK_SELECT)
P2OUT = (GPIO_PIN4);
P2DIR = (GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4);
P2SEL0 = (0);
P2SEL1 = (GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN5 | GPIO_PIN6);
#else
P2OUT = (0);
P2DIR = (GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4);
P2SEL0 = (GPIO_PIN0 | GPIO_PIN1);
P2SEL1 = (GPIO_PIN5 | GPIO_PIN6);
#endif
But on MSP430FR2512IPW16 there is no PIN2.5 and PIN2.6 on which the generated code set SDA and SCL.
So, I change two things:
P1DIR = (GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2 | GPIO_PIN3 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7); to:
P1DIR = (GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN4 | GPIO_PIN5 | GPIO_PIN6 | GPIO_PIN7);
and
P1SEL1 = (GPIO_PIN2 | GPIO_PIN3);
I also change SYSCFG2 |= USCIBRMP to SYSCFG2 &= ~USCIBRMP;
I think this is what I must do if I want to get PIN1.2 = SDA and PIN1.3 = SCL
But I still have no communication. Did I miss something?
Thank you in advance
Igor