找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 5693|回復(fù): 1
收起左側(cè)

MSP-EXP430G2串口調(diào)試問(wèn)題

[復(fù)制鏈接]
ID:70976 發(fā)表于 2014-12-24 13:25 | 顯示全部樓層 |閱讀模式
好久之前就弄過(guò)這個(gè)開(kāi)發(fā)板了,感覺(jué)是沒(méi)什么問(wèn)題。串口實(shí)驗(yàn)也做過(guò),不料今天再次使用,卻出現(xiàn)這么嚴(yán)重的問(wèn)題。
程序如下,
uchar txbuf[6]={0x01,0x02,0x03,0x04,0x05,0x06};
void Uart_Init(void)
{
  P1DIR |= BIT2;
  P1DIR &=~BIT1;
  P1SEL |= BIT1+BIT2;
  P1SEL2|=BIT1+BIT2;
  //UCA0CTL0|=UCMSB;
  UCA0CTL1|=UCSWRST;
  UCA0CTL1|=UCSSEL_2;
  //UCA0STAT|=UCLISTEN;
  UCA0BR0 = 833%256;
  UCA0BR1 = 833/256;
  UCA0MCTL= UCBRS1;
  UCA0CTL1&=~UCSWRST;
  IE2|=UCA0RXIE;
}
int main( void )
{
  uchar i=0;
  WDTCTL = WDTPW + WDTHOLD;
  BCSCTL1=CALBC1_16MHZ;
  BCSCTL2|=DIVS0;
  DCOCTL=CALDCO_16MHZ;
  Uart_Init();
  _EINT();
  while(1)
  {
    UCA0TXBUF=txbuf;
    i++;
    if(i==6)i=0;
    while(!(IFG2&UCA0TXIFG));
    IFG2&=~UCA0TXIFG;
  }
}
感覺(jué)網(wǎng)上大都是這樣程序,官方例程也不過(guò)如此!不知怎么,串口助手總是收到錯(cuò)誤的數(shù)據(jù)。

當(dāng)然,這是單步調(diào)試的結(jié)果,數(shù)組的兩次循環(huán)。最后基本穩(wěn)定的是D0 40 A0 20 D0 41(對(duì)應(yīng)上面的數(shù)組)。
感覺(jué)好像波特率不對(duì),用其他頻率來(lái)產(chǎn)生波特率吧,一樣的結(jié)果。

好吧,測(cè)試一下接收吧,
接收中斷如下
#pragma vector=USCIAB0RX_VECTOR
__interrupt void RX_ISP(void)
{
  UCA0TXBUF=UCA0RXBUF;
  IFG2&=~UCA0RXIFG;
}
接收中斷打個(gè)斷點(diǎn)吧,好家伙,收到之后發(fā)出去竟然沒(méi)有問(wèn)題,

這不是坑嘛,波特率是對(duì)的啊,接收再發(fā)送沒(méi)有問(wèn)題。繼續(xù)改接收中斷服務(wù)函數(shù)

#pragma vector=USCIAB0RX_VECTOR
__interrupt void RX_ISP(void)
{
  UCA0TXBUF=0x03;
  IFG2&=~UCA0RXIFG;
}
接收還是沒(méi)有問(wèn)題,把這個(gè)放到主函數(shù)運(yùn)行吧,改主循環(huán)
while(1)
  {
    UCA0TXBUF=0x03;
    i++;
    if(i==6)i=0;
    while(!(IFG2&UCA0TXIFG));
    IFG2&=~UCA0TXIFG;
  }
繼續(xù)單步,串口助手收到A0,和剛才的錯(cuò)誤數(shù)據(jù)一樣。從新編譯,煩了,這次全速吧,意外,

結(jié)果居然是對(duì)的,好吧,在試試全速->單步->全速,第一個(gè)全速可以接收正確的數(shù)據(jù),然后單步數(shù)據(jù)出錯(cuò),在全速還是錯(cuò)誤的數(shù)據(jù)。還是試試接收中斷來(lái)個(gè)單步,數(shù)據(jù)沒(méi)有問(wèn)題,

搞不明白在主循環(huán)不能單步,在中斷卻行?先記下這個(gè)問(wèn)題,只能慢慢解決了!

回復(fù)

使用道具 舉報(bào)

ID:81990 發(fā)表于 2015-6-4 09:52 | 顯示全部樓層
很認(rèn)真呀,加油歐
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表