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.

[参考译文] MSP430FR2311:UART错误

Guru**** 2541900 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/584921/msp430fr2311-uart-error

部件号:MSP430FR2311

实际上,我只想将十六进制值发送到UART引脚...以用于实验目的。


现在,当我运行下面的代码时,它会打印几个1和2个以及偶尔出现的<字符,如下所示:
11.1111万111111222222222222<等11.1111万等</s>22.2222万 22.2222万 

帮助我解决这个问题。

请勿有必要。

#include <MSP4S.h>

#define INT 0x41;
void Init_gPIO();

内部主(无效)

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

//配置GPIO

P1DIR = 0xFF;P2DIR = 0xFF;
P1REN = 0xFF;P2REN = 0xFF;
P1OUT = 0x00;P2OUT = 0x00;

PM5CTL0 &=~LCKLPM5;//禁用GPIO开机默认高阻抗模式
//激活1先前配置的端口设置

//配置UART引脚
P1SEL0 || BIT6 | BIT7;//将2-UART引脚设置为第二功能



//配置UART
UCA0CTLW0 |= UCSWRST + UCPEN_0 + UCSYNC_0 + UC7BIT_0 + UCSPB_0 + UCMODE_0;
UCA0CTLW0 |= UCSSEL_1;//将ACLK设置为BRCLK

//波特率计算。 请参阅UG 17.3 10
//(1) N=3.2768万/4800=<xmt-block0>4800 6.827
//(2) OS16=0,UCBRx=INT (N)=6
//(4)分数部分= 0.827。 已参阅UG表17-4,UCBRSx=0xEE。
UCA0BR0 = 3;// INT (3.2768万/4800)4800)
UCA0BR1 = 0x00;

UCA0MCTLW = 0x92 + UCOS16_0;
UCA0CTLW0 &=~UCSWRST;//初始化eUSCI
UCA0IE |= UCTXIE;//启用USCI_A0 RX中断


同时(1)


UCA0TXBUF = INT;
__DELAY周期(100万);
//__bis_sr_register( GIE);//输入LPM0,中断已启用
// UCA0TXBUF ='\0';
}
}

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

    您将在用户指南的表21-5中注意到,与BRCLK = ACLK = 3.2768万的UART通信和9600波特率包括非常大的TX/RX错误,建议您使用更低的波特率(<2400)或更快的时钟源(>100万)。 即使实现了长延迟,建议您在使用另一个字节填充TX缓冲区之前,先检查TX缓冲区是否为空(UCTXIFG)。

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

    我已将波特率从9600更改为2400,同时也消除了长时间延迟。
    但它仍然不起作用,我也没有在UART上获得价值。

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

    我没有告诉您删除长延迟,而是实施一个系统以确保在再次写入TXBUF之前当前未填充TX缓冲区。 从TI提供的PC回波代码示例开始,并参阅用户指南的第21.3 13节。 如有必要,您还应使用示波器或逻辑分析仪来研究UART线路。

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

    根据您的建议,它工作正常