打印
[MCU]

msp430f5229两个SPI不能同时用?

[复制链接]
425|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
两只袜子|  楼主 | 2020-11-5 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是我对时钟配置和两个SPI的配置初始化代码

//调试时钟配置
void halInitMCU(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer


  //
  P5SEL |= BIT2+BIT3;                       // Port select XT2
  UCSCTL6 &= ~XT2OFF;                       // Enable XT2
  UCSCTL3 |= SELREF_2;                      // FLLref = REFO
                                            // Since LFXT1 is not used,
                                            // sourcing FLL with LFXT1 can cause
                                            // XT1OFFG flag to set
  UCSCTL4 |= SELA_2;                        // //ACLK=REFO,SMCLK=DCO,MCLK=DCO
}


//初始化与CC1120连接的spi
void CC1120_SpiInit(void)
{
  volatile unsigned int i;

  WDTCTL = WDTPW+WDTHOLD;                   // Stop watchdog timer

  P1DIR |= BIT7;                            // Set P1.7 for CSN
  P2DIR |= BIT3;                            // Set P2.3 for slave reset
  P3SEL |= BIT3+BIT4;                       // P3.3,4 option select
  P2SEL |= BIT7;                            // P2.7 CLK

  UCA0CTL1 |= UCSWRST;                      // **Put state machine in reset**
  UCA0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB;    // 4-pin, 8-bit SPI master
                                            //Clock polarity high, MSB
  UCA0CTL1 |= UCSSEL_3;                     // SMCLK
  UCA0BR0 = 0x02;                           // /2
  UCA0BR1 = 0;                              //
  UCA0MCTL = 0;                             // No modulation
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**

  P1OUT &= ~0x80;                           // p1.7 CSN low

  P2OUT &= ~0x08;                           // p2.3 Now with SPI signals initialized,
  P2OUT |= 0x08;                            // reset slave

                                         //The ISR for SPI RX Date/Tx Data
  for(i=50;i>0;i--);                        // Wait for slave to initialize

//  __bis_SR_register(LPM0_bits + GIE);       // CPU off, enable interrupts
}
//初始化与Flsah连接的spi
void Init_CC1120_SpiFlash()
{
  P2DIR |= BIT4;                            //CS_N ouput
  P3SEL |= BIT0+BIT1;                      // P3.0,1,2 option select
  P3SEL |= BIT2;                           // P3.2 clk

  UCB0CTL1 |= UCSWRST;                    // **Put state machine in reset**
  UCB0CTL0 |= UCMST+UCSYNC+UCCKPL+UCMSB+UCMODE0;  // 4-pin, 8-bit SPI slave,
                                            // Clock polarity high, MSB
  UCB0CTL1 |= UCSSEL_2;                     // SMCLK
//  UCB0BR0 = 0x00;                           // /2
//  UCB0BR1 = 0;                              //

  UCB0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
}

使用特权

评论回复

相关下载

相关帖子

沙发
guanjiaer| | 2020-12-2 14:48 | 只看该作者
引脚没有复用的话 应该是可以的啊

使用特权

评论回复
板凳
heimaojingzhang| | 2020-12-2 14:50 | 只看该作者
io口也需要配置啊

使用特权

评论回复
地板
keaibukelian| | 2020-12-2 14:52 | 只看该作者
把另一个disable 那一个能用吗

使用特权

评论回复
5
labasi| | 2020-12-2 14:53 | 只看该作者
都同时使能的吗

使用特权

评论回复
6
paotangsan| | 2020-12-2 14:54 | 只看该作者
自己单步运行看看哪里出的问题

使用特权

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

本版积分规则

2038

主题

7364

帖子

10

粉丝