关于MSP430G2553串口的一个问题

2019-07-15 15:35发布

本帖最后由 elecfanqxx 于 2015-8-30 12:15 编辑

大家知道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;                              //指示灯
}

ssss.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
ytggggggg
1楼-- · 2019-07-15 16:45
这种终端程序与2553的串口连接要多连几次——硬件连接,有时候是时序对不上。 最佳答案
18814181500
2楼-- · 2019-07-15 20:11
把hex发送勾上,再不行就检查波特率设置是否合理
h1105575641
3楼-- · 2019-07-15 23:50
 精彩回答 2  元偷偷看……
elecfanqxx
4楼-- · 2019-07-16 04:13
18814181500 发表于 2015-8-30 17:36
把hex发送勾上,再不行就检查波特率设置是否合理

谢谢,虽然还是不行,波特率改了好几次,这几个字符发对了,那几个字符又不对了
一缕夜色
5楼-- · 2019-07-16 09:52
这个比较好,我也碰到过这样的问题,希望楼上早日解决啊
ytggggggg
6楼-- · 2019-07-16 11:19
UCA0CTL1 |= UCSSEL_2;                     // 选择时钟
UCA0BR0 =72;                            // 1MHz 14400
UCA0BR1 = 0;                              // 1MHz 14400
UCA0MCTL = UCBRS0+UCBRS2;  

一周热门 更多>