怎么用msp430g2553将接收到的100k波特率的数据以115.2k波特率发送出去

2019-03-24 09:33发布

如题 刚入门 求大神指教
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
唉唉呦唉
2019-03-24 18:47
就是用g2553做一个转化 这是我现在的代码 我想知道怎么写更改波特率的代码
#include "msp430g2553.h"
void main(void)
{
        WDTCTL = WDTPW + WDTHOLD;    //停止看门狗
        UCA0CTL1 |= UCSWRST;         // USCI_A0 进入软件复位状态
        UCA0CTL1 |= UCSSEL_2;        //时钟源选择 SMCLK
        BCSCTL1 = CALBC1_1MHZ;       //设置 DCO 频率为 1MHz
        DCOCTL = CALDCO_1MHZ;
        P1SEL = BIT1 + BIT2 ;        // P1.1 = RXD, P1.2=TXD
        P1SEL2 = BIT1 + BIT2 ;       // P1.1 = RXD, P1.2=TXD
        P1DIR |= BIT0;
        UCA0BR0 = 0x0a;              //时钟源 1MHz 时波特率为100,000
        UCA0BR1 = 0x00;              //时钟源 1MHz 时波特率为100,000
        UCA0MCTL = UCBRS0;           //小数分频器
        UCA0CTL1 &= ~UCSWRST;        //初始化 USCI_A0 状态机
        IE2 |= UCA0RXIE;             //使能 USCI_A0 接收中断
        _EINT();                     //开总中断
   
            while(1)
            {
            }
}
#pragma vector = USCIAB0RX_VECTOR      //接收中断
__interrupt void USCI0RX_ISR(void)
{
        while ( !(IFG2&UCA0TXIFG) );    //确保发送缓冲区准备好
        P1OUT ^= BIT0;    //接收指示灯状态改变
        UCA0TXBUF = UCA0RXBUF;        //发送接收到的数据
}

一周热门 更多>

相关问题

    相关文章