在线情况
楼主
  • 头像
  • 级别
    • 积分13
    • 经验355
    • 文章13
    • 注册2011-09-22
    请教 F149波特率19200的计算
    [P]请问F149 4M晶振19200波特率 UMCTL0寄存器的值是多少   我算了 可没成功 用了计算软件也不行[/P][P] [/P][P]void init_cpu(void)
    {
        char i;
        char j=10;
       
        WDTCTL=WDTPW+WDTHOLD;
    //    BCSCTL1&=~XT2OFF;//打开高频晶振
         BCSCTL1=0x00;//打开高频晶振  
        do
        {
           j--;
           IFG1&=~OFIFG;//高频晶振起振标志
           for(i=0xff;i>0;i--);
           if(j==0)
             WDTCTL=0;//晶体失败
        }
        while(IFG1&OFIFG);//判断是否为0
        BCSCTL2=SELM_2+SELS;//MCLK SMCLK=XT2
    }[/P][P]void init_uart0(void)
    {
        P3SEL|=BIT4+BIT5;
        P3DIR|=BIT4;
        P3DIR&=~BIT5;
       
        ME1|=UTXE0+URXE0;//允许收发
        UCTL0|=CHAR;
        UTCTL0|=SSEL0+SSEL1;//选择SMCLK
        UBR00=0xd0;
        UBR10=0X00;
        UMCTL0=0x40;
        UCTL0&=~SWRST;//清除逻辑 复位初始化
        IE1|=URXIE0;    
    }
    void main(void)
    {
         init_cpu();
         init_uart0();
         while(1)
         {
          _BIS_SR(LPM3_bits+GIE);
           while(!(IFG1&UTXIFG0));
           TXBUF0=RXBUF0;
         }
    }
    #pragma vector=UART0RX_VECTOR//接收
    __interrupt void uaet0_rw(void)
    {
        _BIC_SR_IRQ(LPM3_bits);
    }
    哪错了呢
    [/P]
    微控网感谢您的参与
    在线情况
    2
    • 头像
    • 级别
      • 积分13
      • 经验355
      • 文章13
      • 注册2011-09-22
      [P]4000000/19200=208.333333   208=D0   UBROO=D0 UBR10=00 UMCTL0=10001000 01001000。......式了好多数 就是在串口调试助手上不通 其他波特率也一样  但用ACLK时钟按照波特率数据表给的数据设定就可以接受   请教了UMCTL0[EM14]应该是多少呢[/P]
      微控网感谢您的参与
      在线情况
      3
      • 头像
      • 级别
        • 积分13
        • 经验355
        • 文章13
        • 注册2011-09-22
        [P]嗯 我用示波器测测[/P]
        微控网感谢您的参与
        Powered by LeadBBS 9.2 .
        Page created in 0.1855 seconds with 7 queries.