本帖最后由 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; //指示灯
}
-
谢谢,虽然还是不行,波特率改了好几次,这几个字符发对了,那几个字符又不对了
UCA0BR0 =72; // 1MHz 14400
UCA0BR1 = 0; // 1MHz 14400
UCA0MCTL = UCBRS0+UCBRS2;
一周热门 更多>