3338|4

31

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求MSP430G2452串口通信案例 [复制链接]

本人msp新手,希望大神们能给个msp430g2452串口通信案例,比如:向串口助手发送一个字符或者字符串。

最新回复

#include int main(void) {   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT   if (CALBC1_1MHZ==0xFF)                                        // If calibration constant erased   {                                                                                            while(1);                               // do not load, trap CPU!!          }   DCOCTL = 0;                               // Select lowest DCOx and MODx settings   BCSCTL1 = CALBC1_1MHZ;                    // Set DCO   DCOCTL = CALDCO_1MHZ;   P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD   P1SEL2 = BIT1 + BIT2 ;                    // P1.1 = RXD, P1.2=TXD   UCA0CTL1 |= UCSSEL_2;                     // SMCLK   UCA0BR0 = 104;                            // 1MHz 9600   UCA0BR1 = 0;                              // 1MHz 9600   UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1   UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**   IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt   __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled } //  Echo back RXed character, confirm TX buffer is ready first #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector=USCIAB0RX_VECTOR __interrupt void USCI0RX_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCI0RX_ISR (void) #else #error Compiler not supported! #endif {   while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?   UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character }   详情 回复 发表于 2014-11-1 11:51
 
点赞 关注

回复
举报

496

帖子

18

TA的资源

一粒金砂(高级)

沙发
 
CCS中MSP430WARE就有详细的实例

点评

请问您能给个具体的实例吗?那个还不会用。  详情 回复 发表于 2014-10-31 09:41
 
个人签名相由心生,境随心转,一切法从心想生。
 

回复

31

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
fjjjnk1234 发表于 2014-10-30 22:49
CCS中MSP430WARE就有详细的实例

请问您能给个具体的实例吗?那个还不会用。

点评

你是使用CCS还是IAR呢?CCS6的话看这个帖子https://bbs.eeworld.com.cn/thread-445434-1-1.html  详情 回复 发表于 2014-10-31 10:21
 
 
 

回复

496

帖子

18

TA的资源

一粒金砂(高级)

4
 
1314de浪漫 发表于 2014-10-31 09:41
请问您能给个具体的实例吗?那个还不会用。

你是使用CCS还是IAR呢?CCS6的话看这个帖子https://bbs.eeworld.com.cn/thread-445434-1-1.html
 
个人签名相由心生,境随心转,一切法从心想生。
 
 

回复

2781

帖子

419

TA的资源

五彩晶圆(中级)

5
 
#include

int main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  if (CALBC1_1MHZ==0xFF)                                        // If calibration constant erased
  {                                                                                       
    while(1);                               // do not load, trap CPU!!       
  }
  DCOCTL = 0;                               // Select lowest DCOx and MODx settings
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;
  P1SEL = BIT1 + BIT2 ;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2 ;                    // P1.1 = RXD, P1.2=TXD
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  UCA0BR0 = 104;                            // 1MHz 9600
  UCA0BR1 = 0;                              // 1MHz 9600
  UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
}

//  Echo back RXed character, confirm TX buffer is ready first
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(USCIAB0RX_VECTOR))) USCI0RX_ISR (void)
#else
#error Compiler not supported!
#endif
{
  while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
  UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}

例程.zip

226.17 KB, 下载次数: 20

 
个人签名
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表