蛟龙哥哥111 发表于 2015-12-11 20:09

求助,如何配置msp430f5529串口收发的寄存器

        P3SEL = BIT3 + BIT4;          //设置管脚为第二功能
        UCA0CTL1 |= UCSWRST;      //8位数据,1位停止位,奇校验
        UCA0CTL1 |= UCSSEL_1;               //选择UCLK = ACLK
        UCA0BR0 = 0x3;                  //设置波特率9600bit/s
        UCA0BR1 = 0;
        UCA0MCTL1 = UCBRS_3+UCBRF_0;
        UCA0CTL1 &= ~UCSWRST;
                      //这里需要打开模块USART0吗?如果需要的话,是怎么配置呢?
        UCA0IE |= UCRXIE ;                        //打开USART0接收中断

之前使用串口调试助手的时候就不能工作,板子是TI官方的评估板。程序编译没有问题,我在想是不是这一块出现问题了,急求,谢谢!

蛟龙哥哥111 发表于 2015-12-11 20:11

#include <msp430f5529.h>

void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P3SEL = BIT3+BIT4;
UCA0CTL1|=UCSWRST;
UCA0CTL1|=UCSSEL_1;
UCA0BR0=0X03;
UCA0BR1=0X00;
UCA0MCTL=UCBRS_3+UCBRF_0;
UCA0CTL1&=~UCSWRST;
UCA0IE|=UCRXIE;
__bis_SR_register(LPM3_bits + GIE);
}
#pragma vector=USCI_A0_VECTOR
__interrupt void TIMER1_A1_ISR(void)
{
switch(__even_in_range(UCA0IV,14))
{
    case 0: break;
    case 2:
      while((!UCA0IFG&UCTXIFG));
      UCA0TXBUF=UCA0RXBUF;
      break;
    case 4:
      break;
    default: break;
}
}

只是之前的程序

蛟龙哥哥111 发表于 2015-12-11 20:11

#include <msp430f5529.h>void main( void ) {   // Stop watchdog timer to prevent time out reset   WDTCTL = WDTPW + WDTHOLD;   P3SEL = BIT3+BIT4;   UCA0CTL1|=UCSWRST;   UCA0CTL1|=UCSSEL_1;   UCA0BR0=0X03;   UCA0BR1=0X00;   UCA0MCTL=UCBRS_3+UCBRF_0;   UCA0CTL1&=~UCSWRST;   UCA0IE|=UCRXIE;   __bis_SR_register(LPM3_bits + GIE); } #pragma vector=USCI_A0_VECTOR __interrupt void TIMER1_A1_ISR(void) {   switch(__even_in_range(UCA0IV,14))   {   case 0: break;   case 2:       while((!UCA0IFG&UCTXIFG));       UCA0TXBUF=UCA0RXBUF;       break;   case 4:       break;   default: break;   } }

蛟龙哥哥111 发表于 2015-12-11 20:28

:Cry:难道是我忘点悬赏的原因吗{:1_96:}毕竟新人,不知道这些规矩{:1_101:}

zhangdaijinqf 发表于 2015-12-12 08:15

                                                             帮顶:)

蛟龙哥哥111 发表于 2015-12-12 09:07

zhangdaijinqf 发表于 2015-12-12 08:15
帮顶

谢谢啦:)可我却只想着怎么解决问题呢{:1_101:}

蛟龙哥哥111 发表于 2015-12-12 09:52

<div class='shownolgin' data-isdigest='no'>http://dev.ti.com/tirex/#/Package/MSPWare?link=MSPWare
这个链接挺好的!里面有很多配置的例程!不管是5529还是其他型号的,有需要的可以点进去下载!这个是官方的,应该是个不错的链接!</div><script>showreplylogin();</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

qiushenghua 发表于 2015-12-14 10:22

<div class='shownolgin' data-isdigest='no'>不是没有悬赏的原因,而是你没描述清楚下面这两个问题:
1.使用的F5529评估板是哪一块板子,是那块红色的Launchpad吗?
2.你仅仅说程序不能工作,却没说具体的现象,粗略看程序并没有什么大的问题,至少在串口配置方面没啥问题。那么别人怎么知道具体是怎么个不能工作法,又该从哪方面去排查?

发现个小问题,中断向量是串口中断,中断服务程序的函数名却是定时器中断,在阅读程序的时候可能会造成误解。</div><script>showreplylogin();</script>

数码小叶 发表于 2015-12-14 14:25

<div class='shownolgin' data-isdigest='no'>qiushenghua 发表于 2015-12-14 10:22
不是没有悬赏的原因,而是你没描述清楚下面这两个问题:
1.使用的F5529评估板是哪一块板子,是那块红色的L ...

:lol{:1_103:}{:1_103:}{:1_103:}{:1_103:}</div><script>showreplylogin();</script>

gllasd 发表于 2024-10-18 10:19

<div class='shownolgin' data-isdigest='no'><p></p>


<p>正在学习电子电路设计与制作,好资料,学习了,感谢分享。</p>
</div><script>showreplylogin();</script>
页: [1]
查看完整版本: 求助,如何配置msp430f5529串口收发的寄存器