hi,
i have a Problem while sending the data in SPI - SO PIn.
please see this code, i geeting always a 'U' charater in CRO.
#include <msp430x14x.h>#include <string.h>#define SCK_HIGH P5OUT |=0x08 //clock out#define SCK_LOW P5OUT &=~0x08#define SIN_HIGH P5OUT |=0x04 //data out#define SIN_LOW P5OUT &=~0x04 #define sout (P5IN & 0x02)/(0x02) // data in#define CS_HIGH P4OUT |=0x08 // chip select high#define CS_LOW P4OUT &=~0x08 // chip select lowvoid cs_delay(void);void serial_send(unsigned char Char_Out);void UART0_Init(void);void spi_init(); void testspi(void);void main(){ WDTCTL = WDTPW + WDTHOLD; spi_init(); while(1) { TXBUF1 = 'W'; } }void spi_init() { P5SEL |= 0x0E; // P5.1,2,3 SPI option select P5OUT &= ~0x01; P5DIR |= 0x01; //Reset Slave P5DIR &= ~0x01; // P5DIR |= 0x0C; //Reset Slave P4DIR |=0x08; P4OUT |=0x00; UCTL1 = CHAR + SYNC + MM + SWRST; // 8-bit, SPI, Master UTCTL1 = CKPL + SSEL1 + STC; // Polarity, SMCLK, 3-wire UBR01 = 0x02; // SPICLK = SMCLK/2 UBR11 = 0x00; UMCTL1 = 0x00; ME2 |= USPIE1; // Module enable UCTL1 &= ~SWRST; // SPI enable IE2 |= URXIE1 + UTXIE1; // RX and TX interrupt enable } void UART0_Init(void){ volatile unsigned int i; P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD BCSCTL1 &= ~XT2OFF; // XT2on BCSCTL2 |= SELM_2 + SELS; // MCLK = SMCLK = XT2 (safe) ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD UCTL0 |= CHAR; // 8-bit character UTCTL0 |= SSEL1; // UCLK = SMCLK UBR00 = 0x41; //9600 // 8MHz 115200 UBR10 = 0x03; //9600 // 8MHz 115200 UMCTL0 = 0x09; // 8MHz 115200 modulation UCTL0 &= ~SWRST; // Initialize USART state machine}
here i am sending 'W' data continiously, but i get 'U' response in CRO continusly.
Regards
rishi