搜索
bottom↓
回复: 6

求助:MSP430 波特率小数怎么运算啊

[复制链接]
(193153987)

出0入4汤圆

发表于 2015-12-10 09:47:11 | 显示全部楼层 |阅读模式
时钟:32768   
32678/9600 = 3.4133333333333333333333333333333
整数波特率  32768/9600 = 3
小数: 0.41333333*8 = 3.3066666666666666666666666666667   四舍五入  取 3  ,但测试结果还是不成,必须0x53才可以,其他的时间长了都不行。

求助啊。
(193151855)

出0入0汤圆

发表于 2015-12-10 10:22:43 | 显示全部楼层
可以参考一下430文档上面的设置。除了需要设置UCBRX ,还需要在MCTL中设置UCBRSX和UCBRFX。
(193151759)

出0入0汤圆

发表于 2015-12-10 10:24:19 | 显示全部楼层
这个是文档上面UCOS16 = 0时,波特率的设置,你参考下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(193147645)

出0入4汤圆

 楼主| 发表于 2015-12-10 11:32:53 | 显示全部楼层
gfy200866 发表于 2015-12-10 10:24
这个是文档上面UCOS16 = 0时,波特率的设置,你参考下。

这个文档看了几十遍了。

就是那个小数,按照手册上的实际会出错。  不信,你算下32768下9600,那个小数寄存器怎么会是0x53(实际测出来必须是0x53)
(193141128)

出0入0汤圆

发表于 2015-12-10 13:21:30 | 显示全部楼层
是不是软件没设置好,最好把程序贴出来让大家看看
(193134756)

出0入0汤圆

发表于 2015-12-10 15:07:42 | 显示全部楼层
你是哪个芯片啊,跟我们的寄存器不一样吗,小数是在高位的啊.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
(193129504)

出0入4汤圆

 楼主| 发表于 2015-12-10 16:35:14 | 显示全部楼层
本帖最后由 SCREA 于 2015-12-10 16:36 编辑
gfy200866 发表于 2015-12-10 13:21
是不是软件没设置好,最好把程序贴出来让大家看看

  1.   P2SEL |= (BIT2 + BIT3);                                                       // P2.2,P2.3 = USCI_A2 RXD,TXD  
  2.   PMAP_CONTROL->PMAPKEYID = PMAPKEY;
  3.   P2MAP->P2MAP23 |=  (PM_UCA2RXD | ((u16)PM_UCA2TXD<<8));                     
  4.   PMAP_CONTROL->PMAPKEYID = 0;                                                  //用完记得Lock上
  5.    
  6.   P2DIR &= ~BIT2;P2REN |= BIT2;P1OUT |= BIT2;
  7.   P2DIR |=  BIT3;P2DS  |= BIT3;P1OUT |= BIT3;

  8.   UART2->CTLW0 |= UCSWRST;
  9. #if 0
  10.   UART2->CTLW0 |= UCSSEL_1 |UCMODE0;
  11. // UART2->CTLW0 |= UCSSEL_1 |UCMODE0 |UCPEN | UCPAR ;                          //Dormant、ACLK、IDLE,,带偶检验
  12.   UART2->BRW   = 3;                                                             //32768Hz/9600=3.41 (see User's Guide)
  13.   UART2->MCTLW  = 0x5300;
  14. #elif 1
  15.    UART2->CTLW0 |= UCSSEL_2 ;                                                   //8M情况下,9600波特率
  16.    UART2->BRW   = 138;  
  17.    UART2->MCTLW  = 0xb700;
  18. #endif
  19.   UART2->CTLW0 &= ~UCSWRST;                                                     //关闭复位
  20.   UART2->IE   |= UCRXIE;                                                        // Enable USCI_A2 RX interrupt
复制代码


============================
我第一次用MSP430,看匿名结构体  不习惯,自己全部 用结构体映射 硬件地址了,望不要指着代码骂娘啊

回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-1-22 23:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表