打印

单步调试执行串口发送程序,但是电脑上接收不到

[复制链接]
929|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyjie|  楼主 | 2016-2-2 22:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jlyuan| | 2016-2-2 22:06 | 只看该作者
看看你怎么设置的

使用特权

评论回复
板凳
wyjie|  楼主 | 2016-2-2 22:07 | 只看该作者

#include"msp430g2553.h"

unsigned char data=22;

void Putchar0(unsigned char Chr)
{
     UCA0TXBUF = Chr;
     while(!(IFG2 & UCA0TXIFG));
     IFG2&=~UCA0TXIFG;
}

void delay(unsigned char x)
{
    unsigned char a,b;
    for(a=x;a>0;a--)
      for(b=100;b>0;b--);
}

void main(void)
{
    WDTCTL =WDTHOLD+WDTPW;
    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;//上面两句将内部DCO校准至8MHz

    P1SEL |= BIT1 + BIT2;                             // P1.2 = USCI_A0 TXD
    P1SEL2 = BIT1 + BIT2;

    UCA0CTL1 |= UCSSEL_2;                     // SMCLK

    //UCA0BR0 = 0x34;                              // 8MHz 9600
    UCA0BR0 = 104;
    UCA0BR1 = 0;
    //UCBRS0 = 1;               // Modln UCBRSx=1, over sampling
    UCA0MCTL = UCBRS0;
    UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
    IE2 |=UCA0RXIE;
    _EINT();
    while(1)
    {
        Putchar0(data);
        delay(30);
        Putchar0('a');
        delay(30);
    }
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
    while (!(IFG2&UCA0TXIFG));               // USCI_A0 TX buffer ready?
    data = UCA0RXBUF;
    IFG2&=~UCA0RXIFG;
}

使用特权

评论回复
地板
yszong| | 2016-2-2 22:07 | 只看该作者
不能单步调试,这个是按照一定波特率发动的。

使用特权

评论回复
5
dengdc| | 2016-2-2 22:07 | 只看该作者
你可以设置断点的。

使用特权

评论回复
6
heweibig| | 2016-2-2 22:07 | 只看该作者
在发送数据时,是不是应该先等 TX buffer准备好了,再往UCA0TXBUF写数据:
while(!(IFG2 & UCA0TXIFG));
UCA0TXBUF = Chr;

使用特权

评论回复
7
wyjie|  楼主 | 2016-2-2 22:08 | 只看该作者
嗯 ,我按你得来吧,多谢了哈

使用特权

评论回复
8
robter| | 2016-2-11 08:14 | 只看该作者
单步调试串口,不行的

使用特权

评论回复
9
Soraka| | 2016-2-13 19:47 | 只看该作者
    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;//上面两句将内部DCO校准至8MHz

请问这两句是怎么将内部DCO校准至8MHz的

使用特权

评论回复
10
Varus| | 2016-2-14 20:03 | 只看该作者
while(!(IFG2 & UCA0TXIFG));
UCA0TXBUF = Chr;

这个办法好使吗,楼主怎么解决的

使用特权

评论回复
11
tongbu2015| | 2016-2-20 21:10 | 只看该作者
这个就先检查下发送的数据又发送出来的不。。。

使用特权

评论回复
12
feiqi1| | 2016-3-3 22:04 | 只看该作者
楼主看看,是否修改用于升级的那个项目的XCL文件!

使用特权

评论回复
13
pmp| | 2016-3-7 21:48 | 只看该作者
不要一位的查找是不是软件的问题

使用特权

评论回复
14
pmp| | 2016-3-7 21:51 | 只看该作者
可能是硬件连接的问题。

使用特权

评论回复
15
pmp| | 2016-3-7 21:56 | 只看该作者
查看一下是不是共地了?

使用特权

评论回复
16
pmp| | 2016-3-7 22:00 | 只看该作者
电路的基准信号不一样,也不能正确读取数据的

使用特权

评论回复
17
cemaj| | 2016-3-10 22:40 | 只看该作者
查看是不是电路问题

使用特权

评论回复
18
cemaj| | 2016-3-10 22:42 | 只看该作者
电脑接收串口电路数据对不对

使用特权

评论回复
19
h286288986| | 2016-3-11 11:03 | 只看该作者
你用的是8M DCO,可以配置的是1MHZ。请核对。

使用特权

评论回复
20
zhangbo1985| | 2016-3-11 17:04 | 只看该作者
看下硬件设计的吧,然后再检查下程序设计的。

使用特权

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

本版积分规则

927

主题

12706

帖子

5

粉丝