TI中文支持网
TI专业的中文技术问题搜集分享网站

如何关闭msp430f2132的串口

我现在的整机是:使用的mcu是msp430f2132(以下简称2312),连接串口连接mcu为CC1310的透传模块(以下简称模块)。

主要问题是,进入休眠以后,整机的功耗异常,有100uA。

我测试以下几种情况:

1、断开2312的tx与模块的rx引脚,正常初始化2132的串口,整机进入休眠后,电流为2.4uA左右。

2、正常连接2312tx与模块的rx,但不初始化2132的串口,那么进入休眠以后,整机电流为2.4uA左右。

3、正常连接2312tx与模块的rx,正常初始化2132的串口,

    a、进入休眠前,若拉高2132的tx 引脚,那么整机休眠电流为2mA;

    b、进入休眠前,若拉低2132的tx引脚,那么整机休眠电流为100uA;

    c、进入休眠前,不处理2132的tx引脚,那么整机休眠电流为2mA。

有什么方法,可以在正常初始化2132的串口后,在关闭2132的串口吗?

我初始化2132串口的代码是:

P3SEL |= 0x30;                                                          // P3.4,5 = USCI_A0 TXD/RXD
P3DIR |= BIT4;
P3DIR &= ~BIT5;
UCA0CTL1 |= UCSWRST;
UCA0CTL1 |= UCSSEL_2;                                         // SMCLK 
UCA0CTL0 = 0x00;
UCA0BR0 = 0x68;                                                      // 1MHz 9600
UCA0BR1 = 0;                                                           // 1MHz 9600 
UCA0MCTL = UCBRS1+ UCBRS0;
UCA0CTL1 &= ~UCSWRST;                                    // **Initialize USCI state machine** 

IE2 |= UCA0RXIE;
IE2 &= ~UCA0TXIE;

Susan Yang:

您现在是进入的哪种低功耗模式?

您可以尝试将串口TX、RX引脚在进入低功耗模式前设置为普通IO口或者直接关闭串口时钟

另外您现在是用MSP430和CC1310串口通信?能具体说一下您的应用吗?谢谢

user5128215:

回复 Susan Yang:

我是购买的一个厂家的CC1310透传模块,我的应用是通过msp430f2312通过串口发送数据给CC1310模块,然后CC1310模块将数据发送给服务器端。
我在进入低功耗模式前,已经将tx口设置为了普通端口:P3SEL = 0;UCA0CTL1 |= UCSWRST;UCA0CTL1 &= ~UCSSEL_2;UCA0BR0 = 0;UCA0MCTL =0;UCA0CTL0 = 0x02;UCA0CTL1 &= ~UCSWRST; P3DIR |=BIT4;
//P3OUT &= ~BIT4; P3OUT |= BIT4;

请问如何直接关闭串口时钟?

Susan Yang:

回复 user5128215:

您的SMCLK 的信号源是什么?您现在是进入的哪种低功耗模式?LPM2之后SMCLK时钟是OFF的

另外您为何要用MSP430给CC1310传数据呢,您可以尝试直接使用1310获取数据(毕竟是M3的内核)?

user5128215:

回复 Susan Yang:

我现在进入的LPM3_bits休眠。
CC1310的开发是基于操作系统的,我们这边没有软件的技术支持,而且CC1310的资料基本都是英文的,之前试过了,开发进度很慢 ,所以才选用的模块。

user5128215:

回复 Susan Yang:

请问如何能将串口TX、RX引脚在进入低功耗模式前设置为普通IO口?

灰小子:

回复 user5128215:

因为你的串口使用到了SMCLK,导致在进入低功耗模式的时候,无法关闭SMCLK,从而msp430没有真正进入低功耗模式

user5128215:

回复 灰小子:

请问,如何手动关闭SMCLK时钟呢?

user5128215:

回复 灰小子:

进入LPM3休眠,应该是关闭了SMCLK时钟了的,我现在的情况,只要不了解2132的通信与cc1310的rx,休眠电流只有2.4uA左右。

灰小子:

回复 user5128215:

一般情况,当需要在LPM3低功耗模式有串口通讯的需求时,可以把串口的时钟源配置为ACLK或dco

或者如果使用smclk作为时钟源,使用LPM0/lpm1低功耗模式,这两个低功耗模式不会关闭smclk

user4856044:

详细查看技术手册

赞(0)
未经允许不得转载:TI中文支持网 » 如何关闭msp430f2132的串口
分享到: 更多 (0)