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.

[参考译文] CCS/MSP430FR5994:Launchpad上的UART -故障测试回波代码

Guru**** 2609895 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/643254/ccs-msp430fr5994-uart-on-launchpad---trouble-testing-echo-code

部件号:MSP430FR5994
主题中讨论的其他部件:EK-LM4F120XL

工具/软件:Code Composer Studio

我正在尝试测试以下代码,以便在启动板上测试UART,但在运行该代码时,接收缓冲区(UCA0RXBUF)不显示任何收到的十六进制代码。 此外,我还对一个LED进行了编程,当来自传输缓冲区(UCA0TXBUF)的字符回波到接收缓冲区(UCA0RXBUF)时,它会关闭。 但不管用。 请求帮助!

#include <MSP430.h>
volatile unsigned int I;
/*
main.c
*/
int main(void){
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器

//为2.1 USI_A0 UART操作
P2SEL0 &=~(BIT0| BIT1)设置WFP 2.0 和WFP;
P2SEL1 |= BIT0|BIT1DP;

		//在WFP 1.0 上配置LED,用于调试
P1OUT |= BIT0;	//LED WFP 1.0 启动时打开

//禁用GPIO通电默认高阻抗模式,以激活
//先前配置的端口设置
PM5CTL0 &=~LOCKLP5;

//启动时钟系统,最大DCO设置~8MHz
CSCTL0_H = CSCKEY >> 8; 				//解锁时钟寄存器
CSCTL1 = DCOFSEL_3 | DCORSEL;		//将DCO设置为8MHz
CSCTL2 = LAST__VLOCLK | UART__DCOCLK | SELM__DCOCLK;
CSCTL3 = DSCISI__1 | DIVAN__1 | DILWVM__1;//为UCS0
						


模式设置UCS0;CST_0;配置UCS0

			//启用软件重置
UCA0CTLW0 |= UCSSEL__SMCLK;	// CLK = SMCLK

//波特率计算
// 80万/(16*9600)=9600= 52.083
//部分= 0.083
// UCBRFx = int ((MCSN-52)*16)= 1 52.083
0LW0 = 52;				// 8CBRF= UC01



~= UCA0100;UCSRF= UCA0CA0 = UCA0 		//初始化eUSCI,禁用软件重置
UCA0IE |= UCRXIE;			//启用USCI_A0 RX中断

UCA0TXBUF = 0x41;				//测试发送'A'

__bis_sr_register(LPM3_bits | GIE);	//输入LPM3,启用中断
__no_operation(); 					//用于调试器
}

#if defined(__TI_Compiler_version__)|| defined(__IAR_systems_icc__)

#pragma vector=USI_A0_vector
__interrupt void USI_A0_ISR(void)

#Elif defined(__GSCI__)
void __attribute__(void(u(USI_A0_vector)

编译器#uelle_us_use)
#endif
{
	SWITCH(__EIN_RANGE(UCA0IV, USCI_UART_UCTXCPTIFG))
	{
		CASE USI_NONE:
			Break;
		CASE UTO_UART_UCRXIFG:
			while (!(UC0IFG & UCTXIFG);
			UCA0TCSTCUF = UCA0RUART_UART_UCRXIFF; CA_UCASCI_USCI_UF;		CAXF; CAUST_UCAUSB0 ~CA_UCA_UCAUSB;
			CAUSB; CA_UCAUSB; CAUSB; CAUSB; CAUC_UCAUSB; CA_UC_UCAXF; CAUSB; CAUSB; CAUSB; CA_UC_UCAUSB; CA 1.0 				
			
			
		
			
		
			
		
			
	
}

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

    您好,Shaaina:

    您似乎是从SMCLK获取USCI模块,然后输入LPM3。 在LPM3中,SMCLK被禁用,因此很可能没有数据从UART TX引脚中计时出来:

    另外,您是否确定您已在P2.0和WFP 2.1 之间建立了物理连接?

    此致,  
    Caleb Overbay

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

    您是否能够解决您的问题? 如果是,您能否为可能遇到类似问题的其他人发布您的解决方案?

    此致,
    Caleb Overbay
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Caleb
    感谢您的回复。
    我能够成功运行相同的代码。 我的PC使用了错误的COM端口。

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

    Stellaris EK-LM4F120XL的LMS噪声消除需要代码

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

    您似乎有一个关于非MSP430部件的问题。 此论坛专门针对有关MSP430微处理器系列的问题。 通过在TM4C微控制器E2E论坛上创建新帖子,您将能够找到更好的帮助:
    e2e.ti.com/.../908

    此致。
    Caleb