4774|9

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

msp40G2553串口通信问题 [复制链接]

在调试串口通信的时候,发现,有定时器模拟的可通信,。但是换作使用内置UART通信的时候发现不能通信,用的是TI的官方历程,在调试时,发现无法进入,接收中断,同样用的TI的官方历程,,在检查问题的时候,看过l其他类型的芯片的UART MODE,发现在多设置了 ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD
传说中的串口模块接收使能寄存器,但是在对照G2553的使用指南时并没有这个寄存器的描述,在相应的头文件中并没有定义。
开始时没有接转串口的板子后来   ,于是,另外使用usb 转串口的模块,直接连接芯片的RD TD,引脚。好奇怪的是,仍然进不去串口接收中断,只是PC发什么数据,返回什么数据显示,就像是,RD 与TD直接连载一起。顺便说一句,不连接芯片也是这样的。

思来想去,觉得TI官方的历程应该没有问题,如果用问题,应该是板字的问题,或者是我连接的问题,或者就是芯片的问题,用的V1.5 版本板子,看过资料,已经修正过。不知在使用的时候,有什么地方还需注意,
不知哪位用过G2553 内置串口通信,望不吝赐教,悉听指导,感激之至。


下为历程,官方
//******************************************************************************
//   MSP430G2xx3 Demo - USCI_A0, 9600 UART Echo ISR, DCO SMCLK
//
//   Description: Echo a received character, RX ISR used. Normal mode is LPM0.
//   USCI_A0 RX interrupt triggers TX Echo.
//   Baud rate divider with 1MHz = 1MHz/9600 = ~104.2
//   ACLK = n/a, MCLK = SMCLK = CALxxx_1MHZ = 1MHz
//
//                MSP430G2xx3
//             -----------------
//         /|\|              XIN|-
//          | |                 |
//          --|RST          XOUT|-
//            |                 |
//            |     P1.2/UCA0TXD|------------>
//            |                 | 9600 - 8N1
//            |     P1.1/UCA0RXD|<------------
//
//   D. Dang
//   Texas Instruments Inc.
//   February 2011
//   Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10
//******************************************************************************
#include  "msp430g2553.h"
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  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
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
  UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}


补充一句,直接用班上的设置也不可以

[ 本帖最后由 曾忆往昔 于 2012-7-26 21:59 编辑 ]

最新回复

你可能是RXD和TXD接反了  详情 回复 发表于 2014-8-12 19:47
 
点赞 关注

回复
举报

26

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
漂过····也是遇到问题了百度来这的····
 
 

回复

471

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
成功通信需要把J4那里的RX和TX的跳线帽竖着放才行

点评

你是说保证跳线帽连通吗?  详情 回复 发表于 2012-8-1 10:22
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(中级)

4
 

回复 板凳 zw357234798 的帖子

你是说保证跳线帽连通吗?
 
 
 

回复

471

帖子

0

TA的资源

一粒金砂(高级)

5
 
跳线帽的RX和TX地方的跳线帽需要竖着放,TX->TX' ,RX->RX';改为:TX->RX;TX'->RX'

点评

确实是这个样子的,也是这么处理的,就可以用了  详情 回复 发表于 2012-8-3 13:06
 
 
 

回复

23

帖子

0

TA的资源

一粒金砂(中级)

6
 
我想问下先生,这个串口通信还要外接什么东西吗,谢谢
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

7
 
额,这个板上通过仿真器的串口我也没成功过,不知道什么原因,但是从P1.1和P1.2接出来用还是可以的
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

8
 

回复 5楼 zw357234798 的帖子

确实是这个样子的,也是这么处理的,就可以用了

点评

请问,你这个问题最后是怎么解决的啊?我现在也遇到这个问题,一直调不通,好郁闷啊!  详情 回复 发表于 2012-8-13 12:33
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 8楼 曾忆往昔 的帖子

请问,你这个问题最后是怎么解决的啊?我现在也遇到这个问题,一直调不通,好郁闷啊!
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
你可能是RXD和TXD接反了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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