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.

[参考译文] MSP430F2274:通过 UART 进行通信

Guru**** 664280 points
Other Parts Discussed in Thread: MSP-FET
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/813882/msp430f2274-communicating-over-uart

器件型号:MSP430F2274
主题中讨论的其他器件:MSP-FET

我一直在尝试运行基本示例 UART 代码来回显接收到的字符。  但是、每当我在 CCS 中打开终端并尝试键入字符时、都不会发生任何情况。  我已经尝试过很多次、包括关闭/关闭所有内容以及重新启动、使用 PuTTY 以及查看其他帖子、但我无法解决此问题。  提前非常感谢您的帮助、我非常感谢您的任何建议。

我正在使用:

MSP430F2274

MSP-TS430DA38 -开发板

MSP-FET

Windows 10上的 Code Composer Studio 9.0.1

开发板上的跳线设置为内部 Vcc 和 JTAG

在设备管理器下、我有:

MSP 应用 UART1 (COM5)

MSP 调试接口(COM6)

我打开的终端具有以下设置:

我运行的示例代码为:

/*-版权所有-、BSD_EX
*版权所有(c) 2012、德州仪器(TI)公司
*保留所有权利。
*
*
只要
符合以下条件*、允许以源代码和二进制形式重新分发和使用:
*
*源代码的重新分发必须保留上述版权
声明*、此条件列表和以下免责声明。
*
***二进制形式的再发行必须在

*随发行提供的文档和/或其他材料中复制上述版权声明、本条件列表和以下免责声明。
*
***未经

事先书面许可、不得使用德州仪器公司的名称或*其贡献者的名称认可或推广从本软件衍生的产品*。
*
*本软件由版权所有者和贡献者"按原样"提供
*、

不承担任何明示或暗示的保证、包括但不限于*适销性和特定用途适用性的暗示保证*。 在任何情况下、版权所有者或
*贡献者都不对任何直接、间接、偶然、特殊、
*模范、 或相应的损害(包括但不限于
*采购替代产品或服务;丧失使用、数据或利润;
*或业务中断)、但出于任何责任理论
、*无论是在合同中、严格责任还是由于
使用本软件而以任何方式产生的侵权行为(包括疏忽或*其他)
、*即使已获悉可能会发生此类损坏。
*
***
*
* MSP430代码示例免责声明
*
* MSP430代码示例是自包含的低级程序
,通常*以
高度*简明的方式演示单个外设功能或器件功能。 为此、代码可能依赖于器件的加电默认
值*寄存器值和时钟配置等设置、
并且在组合多个示例中的代码时必须*小心以避免潜在的副作用
*。 另请参阅 www.ti.com/grace 了解 GUI、并参阅 www.ti.com/msp430ware
*了解外设配置的 API 函数库方法。
*
*--/版权--*
//*********
// MSP430F22x4演示- USCI_A0、9600 UART 回波 ISR、DCO SMCLK
//
说明:回波接收到的字符、使用的 RX ISR。 正常模式为 LPM0。
// USCI_A0 RX 中断触发 TX 回波。
//波特率分频器、1MHz = 1MHz/9600 =~104.2
// ACLK = n/a、MCLK = SMCLK = CALxxx_1MHz = 1MHz
//
MSP430F22x4
// --------
// /|\| XIN|-
// || |
// -|RST XOUT|-
// | |
// | P3.4/UCA0TXD|--- >//
| | 9600 - 8N1
// | P3.5/UCA0RXD|<---
//
// A. Dannenberg
// Texas Instruments Inc.
// 2006年4月
//使用 CCE 生成版本:3.2.0和 IAR Embedded Workbench 版本:3.41A
//*********
#include 

int main (void)
{
WDTCTL = WDTPW + WDTHOLD; //如果
(CALBC1_1MHz=0xFF)则停止 WDT//如果校准常数被擦除
{
while (1); //不加载,陷阱 CPU!!
}
DCOCTL = 0; //选择最低 DCOx 和 MODx 设置
BCSCTL1 = CALBC1_1MHZ; //设置 DCO
DCOCTL = CALDCO_1MHz;
P3SEL = 0x30; // P3.4、5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 104; // 1MHz 9600
UCA0BR1 = 0; // 1MHz 9600
UCA0MCTL = UCBRS0; //调制 UCBRSx = 1
UCA0CTL1 &=~UCSWRST; //**初始化 USCI 状态机**IE2|=
UCA0RXIE; //启用 USCI_A0 RX 中断

__bis_SR_register (LPM0_bits + GIE); //输入 LPM0、启用中断
}

//回显 RXed 字符,确认 TX 缓冲区已准备就绪#if
defined (__TI_Compiler_version__)|| Defined (__IAR_systems_ICC__)
#pragma vector=USCIAB0RX_vector
__interrupt void USCI0RX_ISR (supporteded)#elif_ICUSCIAR_ICRx_

(void)(void)(void = USCI0RX_error

)_ vector (void)(void = USCI0RX_vector (void)(void = USCI0RX_isr)(vector)(void = USCIC
#endif
{
while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX 缓冲器就绪?
UCA0TXBUF = UCA0RXBUF; // TX -> RXed 字符
} 

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

    您好、Chloe、

    听起来您在尝试使用 MSP-FET 上的反向通道 UART。  这些 UART 引脚位于 JTAG 接头的引脚12和14上、如 MSP 调试器用户指南的表6所示: http://www.ti.com/lit/ug/slau647m/slau647m.pdf 

    我真的看不到一种在电路板上轻松连接这些器件的方法。  您如何将它们连接到 MSP430?  

    谢谢、

    JD  

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

    您好、Chloe、

    您是否能够使反向通道 UART 正常工作?  我现在要关闭此主题、但如果仍有问题、请在此处回复。   

    谢谢、

    JD