I am using MSP430F1611, and I want to perform SPI communication between MSP430F1611(Master) and FPGA(Slave), I can send data successfully from MSP430F1611 to FPGA and get miso data in U0RXBUF and RXBUF0, now problem is how to store data from ( U0RXBUF and RXBUF0) in any other variable, please help me to solve this problem.
Thanks
Regard.
Code:
#include <msp430.h> char MST_Data = 0x4F; unsigned char msd,msd1,msd2; unsigned int j; unsigned int i; int main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop WDT P3DIR =0x001; P3SEL = 0x00E; // Setup P3 for SPI mode // U0CTL = (0x0070u) /* USART 0 Control */ // CHAR = (0x10) /* Data 0:7-bits / 1:8-bits */ // SYNC = (0x04) /* UART / SPI mode */ // MM = (0x02) /* Master Mode off/on */ U0CTL = CHAR + SYNC + MM + SWRST; // 8-bit, SPI, Master U0TCTL = CKPH + SSEL1 + STC; // Polarity, SMCLK, 3-wire // U0BR0 = (0x0074u) /* USART 0 Baud Rate 0 */ // U0BR0 = 0x064; // SPICLK = SMCLK/2 // U0BR1 = (0x0075u) /* USART 0 Baud Rate 1 */ U0BR1 = 0x000; // UMCTL0 = U0MCTL /* USART 0 Modulation Control */ reg name U0MCTL = 0x000; // ME1 = (0x0004u) /* Module Enable 1 */ ME1 = USPIE0; // Module enable U0CTL &= ~SWRST; // SPI enable IE1 |= URXIE0; // Recieve interrupt enable __enable_interrupt(); // Enable interrupts //TXBUF0 = 0x00; msd = RXBUF0; msd1 = U0RXBUF; i = 50000; // Delay do (i--); while (i != 0); msd = RXBUF0; msd1 = U0RXBUF; {msd = RXBUF0; msd1 = U0RXBUF; TXBUF0 = MST_Data; // Transmit first character LPM0; // CPU off } msd = RXBUF0; msd1 = U0RXBUF; } // End Main #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=USART0RX_VECTOR __interrupt void SPI0_rx (void) #elif defined(__GNUC__) void __attribute__ ((interrupt(USART0RX_VECTOR))) SPI0_rx (void) #else #error Compiler not supported! #endif { j = 5000; // Delay do (j--); while (j != 0); TXBUF0 = MST_Data; /* j = 10000; // Delay do (j--); while (j != 0); TXBUF0 =0x34; j = 10000; // Delay do (j--); while (j != 0); TXBUF0 =0x56; j = 10000; // Delay do (j--); while (j != 0); TXBUF0 =0x78; j = 10000; // Delay do (j--); while (j != 0); TXBUF0 =0x9A; */ //TXBUF0 =0xab; // TXBUF0 =0xbb; //P3OUT =0x00; }