搜索
bottom↓
回复: 2

请教430F2132 的串口用ACLK怎么输出不了.

[复制链接]
(228283669)

出0入0汤圆

发表于 2014-11-2 15:30:32 | 显示全部楼层 |阅读模式
硬件采用外部32768晶振
配置程序为
void init_usart0(void) //9600--ACLK
{
        UCA0CTL1 |= UCSSEL_1;                     // CLK = ACLK
        UCA0BR0 = 0x03;                           // 32kHz/9600 = 3.41
        UCA0BR1 = 0x00;                           //
        UCA0MCTL = UCBRS1 + UCBRS0;               // Modulation UCBRSx = 3
        UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
        IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt
    P3SEL=0X30;
}
查询发送
int putchar(int ch)
{
    while (!(IFG2 & UCA0TXIFG));            // USCI_A0 TX buffer ready?
    UCA0TXBUF = ch&0xff;                     // TX character
    return 1;
}
发现程序始终停在while (!(IFG2 & UCA0TXIFG));上
改用SMCLK时间,串口有输出,怀疑ACLK问题,但
外部振荡应该没问题,查询起振已通过
do{
        IFG1 &= ~OFIFG;                       // Clear OSCFault flag
        for (i = 0xFF; i > 0; i--);           // Time for flag to set
    }
    while ((IFG1 & OFIFG) != 0);  

而且,设置ACLK在P2.0输出也能用示波器看到波型。
若能指点一二,不胜感激
(228282019)

出0入0汤圆

发表于 2014-11-2 15:58:02 | 显示全部楼层
不懂,,帮顶,,
(228130441)

出0入0汤圆

 楼主| 发表于 2014-11-4 10:04:20 | 显示全部楼层
原因找到了,是P2SEL。0设错
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2022-1-26 19:38

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

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