打印

spi接收数据与发送不一致

[复制链接]
780|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shibalihuandao|  楼主 | 2014-8-31 11:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <msp430f6638.h>
unsigned int MST_Data,SLV_Data;
unsigned char temp;
void main(void)
{
    volatile unsigned int i;
        WDTCTL = WDTPW+WDTHOLD;        // Stop watchdog timer
        P8SEL = BIT1+BIT2+BIT3;      //USCI_A1的8.2为SIMO,8.3为SOMI,8.1为USCI_A1的CLK
        P8DIR = BIT3;              //SOMI端口设为输出
        P8DIR &= ~BIT2;          // SIMO端口设为输入
        P8DIR &= ~BIT1;          //CLK设为输入
         P1REN |= BIT4;                            // Enable P1.4 internal resistance
         P1OUT |= BIT4;                            // Set P1.4 as pull-Up resistance
         P1IES &= ~BIT4;                           // P1.4 Lo/Hi edge
         P1IFG &= ~BIT4;                           // P1.4 IFG cleared
         P1IE |= BIT4;                             // P1.4 interrupt enabled
         UCA1CTL1|=UCSWRST;
         UCA1CTL0|= UCSYNC+UCCKPL+UCMSB;
         UCA1CTL1&=~UCSWRST;
        __bis_SR_register(LPM0_bits+GIE);
}

#pragma vector=USCI_A1_VECTOR
__interrupt void USCI_A1_ISR(void)
{
        switch(__even_in_range(UCA1IV,4))
            {
                case 0: break;
                case 2:
                    while (!(UCA1IFG&UCTXIFG))
                    UCA1TXBUF =  UCA1RXBUF;
                    __delay_cycles(500);
                    break;
                case 4: break;
                default: break;
            }
}

#pragma vector=PORT1_VECTOR
__interrupt void Port_1(void)
{
  P1IFG &= ~BIT4;                           // Clear P1.4 IFG
  P1IE &= ~ BIT4;                            // Clear P1.4 IE
  UCA1CTL1 |= UCSWRST;                // Master is ready
  UCA1CTL1 &= ~UCSWRST;             // Re-init slave state machine
  UCA1IE |= UCRXIE;                        // Enable RX interrupt

相关帖子

沙发
shibalihuandao|  楼主 | 2014-8-31 11:10 | 只看该作者
采用的教材上的例程,SPI的自收自发没问题,但是将两片430f6638的spi接口连接起来时,作为接收端的从机总是出现溢出的错误,接收到的数据也很乱,不知道怎么回事,同时主机的UCTXIFG总是为1,当将数据写入UCA1TXBUF时仍然为1,好多问题,希望论坛里的高手给予帮助,谢谢了!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

1165

帖子

4

粉丝