Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

MSP430F6736SPI通讯问题

$
0
0

SPI通讯在使用过程中时钟极性无法设置,空闲时并非高或者低电平,而是由发送寄存器的最后一位决定的,举例如果是0x08,那么接下来没有进行发送的时间里都是低电平,直到下一次发送数据,如果是0x09相反,持续为高电平。

代码如下

SPI设置

// Setup eUSCI_A0
        P2OUT &= ~BIT7;                               // Clear P1.0
        P2DIR |= BIT7;                                // Set P1.0 to output direction
        P2OUT &= ~0x40;                              //LED2on//ss置低
        P1SEL |= BIT2 | BIT3 | BIT6;                  // Set P1.0,P1.2,P1.3,P1.6 to non-IO
        UCA0CTLW0 |= UCSWRST;                         // **Put state machine in reset**
        UCA0CTLW0 |= UCMST  | UCSYNC | UCCKPL | UCMSB ; // 3-pin, 8-bit SPI master
                                    // Clock polarity high, MSB
        UCA0CTLW0 |= UCSSEL_2;                        // SMCLK
        UCA0BRW_L = 0x01;                             // 16MHz
        UCA0BRW_H = 0;                                //
        UCA0MCTLW = 0;                                // No modulation
        UCA0CTLW0 &= ~UCSWRST;                        // **Initialize USCI state machine**

发送在定时器中断中运行

       if (!(UCA1IFG & UCTXIFG)) ;
       UCA1TXBUF =0x08;


Viewing all articles
Browse latest Browse all 3634

Trending Articles