MSP430F5529的USCI配置冲突问题

2019-03-24 11:03发布

楼主自己画的板子,是通过F5529控制前端模拟器件采集 并通过uart传数据到电脑上
与前端通信是用UCB1的SPI模式,前段时间调通了,并在示波器上看到了正确的数据流

后来写的UCA1配置UART的程序,单独程序调试时候可以将数据传输至电脑上,串口助手也可以看到正确的数据

但之后将俩段代码整合在一起时候,发现程序出错,SPI输出一直是低电平,所以串口助手看到全部是00 不知道有没有大神知道是怎么回事?
贴上代码
  1. //--------------------SPI setup------------------------------------------------
  2. P4SEL |= BIT1+BIT2+BIT3; // P4.1-3 option select 3-PIN SPI
  3. P4DIR |= BIT1; // SIMO output
  4. P4DIR &= ~BIT2; // SOMI input
  5. P4DIR |= BIT3; // CLK output

  6. P4OUT |= BIT0; //P4.0输出高电平 /CS disabled
  7. P4DIR |= BIT0; //P4.0 for CS


  8. UCB1CTL1 |= UCSWRST; // **Put state machine in reset**
  9. UCB1CTL0 |= UCSYNC+UCMST+UCMSB+UCCKPL; // SPI master
  10. UCB1CTL0 &= ~UC7BIT; // 8-bit
  11. UCB1CTL0 &= ~UCCKPH;


  12. UCB1CTL1 |= UCSSEL_2; // SMCLK=1.048M
  13. UCB1BR0 = 0; // 不分频
  14. UCB1BR1 = 0; //

  15. UCB1CTL1 &= ~UCSWRST;
  16. UCB1IE =0;

  17. //---------------------UART发送到PC机--------------------------------------
  18. P4SEL = BIT4+BIT5; // P3.4,5 = USCI_A0 TXD/RXD
  19. UCA1CTL1 |= UCSWRST; // **Put state machine in reset**
  20. UCA1CTL1 |= UCSSEL_2; // SMCLK
  21. UCA1BR0 = 6; // 1MHz 9600 (see User*s Guide)
  22. UCA1BR1 = 0; // 1MHz 9600
  23. UCA1MCTL = UCBRS_0 + UCBRF_13 + UCOS16; // Modln UCBRSx=0, UCBRFx=0,
  24. // over sampling
  25. UCA1CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
  26. UCA1IE |= UCRXIE; // Enable USCI_A0 RX interrupt

  27. //--------------------------------------------------------------------------*/
复制代码 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
jixueyuan163
2019-03-24 18:36
< :TI_MSP430_内容页_SA7 --> 按理说 IO口也没复用
一个是UCA1 一个是UCB1 不该会冲突的啊  
楼主小白 实在是没办法了  
跪求大神们帮忙  北京地区可请吃饭~~~

一周热门 更多>

相关问题

    相关文章