3450|7

10

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

msp430g2553串口通信问题,一直重复发生A,怎样才能停止? [复制链接]

5芯积分
#include

int main(void)
{
  DCOCTL = 0;
  BCSCTL1 = CALBC1_16MHZ;
  DCOCTL = CALDCO_16MHZ;
  BCSCTL1 |= DIVA_1;    //ACLK =MCLK/2=8M
  BCSCTL2 |= DIVS_1;    //SMCLK=MCLK/2=8M

  P1DIR  |= BIT2;           //P1.2  UART_TX
  P1DIR  &= ~BIT1;           //P1.2  UART_RX
  P1SEL  |= BIT1+BIT2;      //select P1.1 and P1.2 as UART port
  P1SEL2 |= BIT1+BIT2;
  
  UCA0CTL1 |= UCSWRST;      // reset UART module,as well as enable UART module
  UCA0CTL1 |= UCSSEL_2;     // UART clock is SMCLK
  UCA0BR0  |= 65;           // Baud N=BCLK/rate,rate=9600,BCLK=SMCLK=8M
  UCA0BR1  |= 3;
  UCA0MCTL  = UCBRS1;      // UCBRSx=2
  UCA0CTL1 &= ~UCSWRST;     // UART reset end
  
  IE2 |= UCA0TXIE;          // Enable USCI_A0 TX interrupt

  _EINT();
  while (1);
}

// USCI A0/B0 Transmit ISR
#pragma vector=USCIAB0TX_VECTOR
__interrupt void USCI0TX_ISR(void)
{
  UCA0TXBUF = 'A';                 // TX next character
  
  IE2 &= ~UCA0TXIE;                // Disable USCI_A0 TX interrupt
}

最佳答案

查看完整内容

我咋觉得是因为你忘记关看门狗了,然后隔一段时间复位发送一个A,隔一段时间又复位发送一个A了呢?

最新回复

好像是啊,没有关于看门狗的操作,还是你看得仔细   详情 回复 发表于 2014-10-10 23:45
 
点赞 关注

回复
举报

1976

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 
你没有清除发送中断标志吗

点评

清除了也没用,我觉得问题好像出在UCA0TXBUF这里,只有UCA0TXBUF为空时UCA0TXIFG被置位。测试 的时候感觉不管在主函数还是中断程序里只要给UCA0TXBUF赋值了,数据就会主动发送,要停止发送,感觉要清空UCA0TXBUF,但  详情 回复 发表于 2014-10-10 19:02
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
bobde163 发表于 2014-10-10 18:26
你没有清除发送中断标志吗

清除了也没用,我觉得问题好像出在UCA0TXBUF这里,只有UCA0TXBUF为空时UCA0TXIFG被置位。测试 的时候感觉不管在主函数还是中断程序里只要给UCA0TXBUF赋值了,数据就会主动发送,要停止发送,感觉要清空UCA0TXBUF,但是我不知道怎么操作
 
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

4
 
发送完一次之后,不用清空TXBUF,只要不重新赋值就可以了,至于你这个无法停止的问题,我觉得很奇怪
 
 
 

回复

1193

帖子

0

TA的资源

纯净的硅(高级)

5
 
我咋觉得是因为你忘记关看门狗了,然后隔一段时间复位发送一个A,隔一段时间又复位发送一个A了呢?

点评

果然是啊!!!晕死我了,折腾了好久,就这点小问题,感谢大神的热心帮助  详情 回复 发表于 2014-10-11 11:15
好像是啊,没有关于看门狗的操作,还是你看得仔细  详情 回复 发表于 2014-10-10 23:45
 
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

6
 
qiushenghua 发表于 2014-10-10 21:27
我咋觉得是因为你忘记关看门狗了,然后隔一段时间复位发送一个A,隔一段时间又复位发送一个A了呢?

好像是啊,没有关于看门狗的操作,还是你看得仔细

点评

呵呵,是这个问题,也谢谢你的耐心回答  详情 回复 发表于 2014-10-11 11:19
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

7
 
qiushenghua 发表于 2014-10-10 21:27
我咋觉得是因为你忘记关看门狗了,然后隔一段时间复位发送一个A,隔一段时间又复位发送一个A了呢?

果然是啊!!!晕死我了,折腾了好久,就这点小问题,感谢大神的热心帮助
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

8
 
bobde163 发表于 2014-10-10 23:45
好像是啊,没有关于看门狗的操作,还是你看得仔细

呵呵,是这个问题,也谢谢你的耐心回答
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表