打印

G2553的串口问题

[复制链接]
688|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lefeng|  楼主 | 2018-6-27 20:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
大家知道MSP430G2553串口的最高波特率可设为多少?我正在用一个蓝牙模块,需要38400bps波特率,但用G2553和串口调试工具sscom测试时,9600bps以上的就不行了,正常收发不了。不知道是什么问题,软件配置还是硬件限制?下面是我的程序,设的是14400bps,用的是Launchpad开发板。希望大家指点^_^
#include "msp430.h"
int main( void )
{
  WDTCTL = WDTPW + WDTHOLD;
  DCOCTL = 0;                              
  BCSCTL1 = CALBC1_1MHZ;                     // 设置 DCO为1M
  DCOCTL = CALDCO_1MHZ;            
  //控制灯亮灭
  P1DIR|=BIT6;
  P1OUT&=~BIT6;
  //配置串口
  P1SEL = BIT1 + BIT2 ;                     // 配置引脚
  P1SEL2 = BIT1 + BIT2 ;
  UCA0CTL1 |= UCSSEL_2;                     // 模块时钟选择为SMCLK
  UCA0BR0 = 69;                             // 设置波特率14400bps
  UCA0BR1 = 0;                           
  UCA0MCTL = 0;                             // 调整波特率
  UCA0CTL1 &= ~UCSWRST;                     // **使能系统复位**
  IE2 |= UCA0RXIE;

  __bis_SR_register(LPM0_bits + GIE);       // 进入LPM0并使能全局中断
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  while (!(IFG2&UCA0TXIFG));                // 检测发送是否准备好
  UCA0TXBUF = UCA0RXBUF+1;                  // 将接收数据+1发送给主机
  P1OUT^=BIT6;                              //指示灯
}

fk7z6.png (87.12 KB )

fk7z6.png

相关帖子

沙发
CaLipton| | 2018-6-27 21:28 | 只看该作者
这种终端程序与2553的串口连接要多连几次——硬件连接,有时候是时序对不上

使用特权

评论回复
板凳
Rospiers| | 2018-6-27 21:43 | 只看该作者
把hex发送勾上,再不行就检查波特率设置是否合理

使用特权

评论回复
地板
Lewisnx| | 2018-6-27 21:56 | 只看该作者
波特率改下试试

使用特权

评论回复
5
CCompton| | 2018-6-27 22:07 | 只看该作者

UCA0CTL1 |= UCSSEL_2;                     // 选择时钟
UCA0BR0 =72;                            // 1MHz 14400
UCA0BR1 = 0;                              // 1MHz 14400
UCA0MCTL = UCBRS0+UCBRS2;  

使用特权

评论回复
6
Richardd| | 2018-6-27 22:34 | 只看该作者

Launchpad上边最多只能用9600

使用特权

评论回复
7
Mattheww| | 2018-6-27 22:52 | 只看该作者

Launchpad上边32768的那个小晶振最好最高配置到9600,要是用内部的DCO就无所谓了。

使用特权

评论回复
8
吹哥| | 2018-6-29 09:01 | 只看该作者
绝对是你串口软件的设置问题

使用特权

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

本版积分规则

200

主题

1087

帖子

0

粉丝