This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430FR5043:eUSCI 和 RTC 以及 MTIF 和 WDT 功能

Guru**** 2422790 points
Other Parts Discussed in Thread: MSP430FR6043, MSP430FR5043, MSP430FR6041, MSP430FR5041

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1542559/msp430fr5043-the-eusci-and-rtc-and-mtif-and-wdt-function

器件型号:MSP430FR5043
Thread 中讨论的其他器件: MSP430FR6041MSP430WARE、MSP430FR6043、 MSP430FR5041

工具/软件:

尊敬的 E2E:

我们正在开发燃气表。
我们发现可以通过 I2C 在 MSP430FR5043 上进行链接、并观察数据。

但是、eUSCI_A0(UART 模式)未正确配置、无法通过此接口读取数据。

1.代码如下,请帮助检查问题是什么?


内部 main (void)

WDTCTL = WDTPW | WDTHOLD;//停止看门狗

//配置 GPIO
P4SEL0 &=~(BIT3 | BIT4);
P4SEL1 |= BIT3 | BIT4;// USCI_A3 UART 操作

//禁用 GPIO 上电默认高阻抗模式以激活
//先前配置的端口设置
PM5CTL0 且=~LOCKLPM5;

//最大 DCO 设置~8MHz 的启动时钟系统
CSCTL0_H = CSKEY_H;//解锁 CS 寄存器
CSCTL1 = DCOFSEL | DCORSEL;//将 DCO 设置为 8MHz
CSCTL2 = SELA_VLOCLK | SELS__DCOCLK | SELM_DCOCLK;
CSCTL3 = DIVA__1 | DIVS__1 | DIVM_1;//设置所有分频器
CSCTL0_H = 0;//锁定 CS 寄存器

//为 UART 模式配置 USCI_A3
UCA0CTLW0 = UCSWRST;//将 eUSCI 置于复位状态
UCA0CTLW0 || UCSSEL_SMCLK;// CLK = SMCLK
//波特率计算
// 8000000/(16*9600)=52.083
//分数部分= 0.083
//用户指南表 24-4:UCBRSx = 0x04
// UCBRFx = int ((52.083-52)*16)= 1
UCA0BRW = 52;// 80000/16/9600
UCA0MCTLW |= UCOS16 | UCBRF_1 | 0x4900;
UCA0CTLW0 &=~UCSWRST;//初始化 eUSCI
UCA0IE |= UCRXIE;//启用 USCI_A3 RX 中断

__bis_SR_register (LPM3_bits + GIE);//进入 LPM3、已启用中断
__ no_operation ();//对于调试器
}

#if Defined (__TI_COMPILER_VERSION__)|| Defined (__IAR_SYSTEM_ICC__)
pragma vector=EUSCI_A3_vector
__中断 void USCI_A3_ISR (void)
#elif defined (__GNUC__)
void _attribute__((interrupt (EUSCI_A3_vector)) USCI_A3_ISR (void)
#else
错误:不支持编译器!
#endif

switch (__even_in_RANGE (UCA0IV、USCI_UART_UCTXCPTIFG))

case USCI_NONE:中断;
case USCI_UART_UCRXIFG:
while(!(UCA0IFG & UCTXIFG));
UCA0TXBUF = UCA0RXBUF;
__ no_operation ();
休息;
case USCI_UART_UCTXIFG:break;
用于 USCI_UART_UCSTTIFG:BREAK;
case USCI_UART_UCTXCPTIFG:break;
默认值:中断;
}
}

2.我们看到 MSP430FR5043 具有 RTC 和 MTIF 模块。 我们可以使用这两个模块来输出时间戳信号吗? 如何操作?

MSP430FR5043 定义了 WDT_A 此功能与常规 WDT 有何不同?

BR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    乍一看、P4SEL 位是反向的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.以下是代码、请帮助检查问题是什么?

    有关在 UART 模式下使用 eUSCI_A0 的信息、请参阅代码示例:

    C:\ti\MSP430Ware 3_80_14_01\examples\devices\MSP430FR5xx_6xx\MSP430FR6041_MSP430FR5043_MSP430FR5041_MSP430FR5041_MSP430FR6041\C Code_Examples

    msp430fr6043_euscia0_uart_0x.c

    2.我们看到 MSP430FR5043 具有 RTC 和 MTIF 模块。 我们可以使用这两个模块来输出时间戳信号吗? 如何做到这一点?

    请参阅代码示例:

    C:\ti\MSP430Ware 3_80_14_01\examples\devices\MSP430FR5xx_6xx\MSP430FR6041_MSP430FR5043_MSP430FR5041_MSP430FR5041_MSP430FR6041\C Code_Examples

    msp430fr6043_mtiF_01.c

    有关功能说明、请参阅

    用户指南 https://www.ti.com/lit/ug/slau367p/slau367p.pdf

    第 23 章我的朋友

    3.MSP430FR5043 定义了 WDT_A 此函数与常规 WDT 有何不同?

    有关功能说明、请参阅

    数据表: https://www.ti.com/lit/ds/symlink/msp430fr5043.pdf

    9.13.7 看门狗计时器 (WDT_A)

    用户指南 https://www.ti.com/lit/ug/slau367p/slau367p.pdf

    第 24 章看门狗计时器 (WDT_A)