MSP430串口调试小结

来源:本站
导读:目前正在解读《MSP430串口调试小结》的相关信息,《MSP430串口调试小结》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MSP430串口调试小结》的详细说明。
简介:MSP430 LaunchPad是TI推出的开发板。在需要调试别的系统的目标板上的TTL串口时,可以先取下板上RXD和TXD的短路块,然后通过杜邦线进行连接其他的目标板。不过在使用中发现,外部目标板有时会出现接收数据错误的现象。

经过实验发现,如果目标板的RXD引脚没有接上拉电阻,或者没有允许内部上拉电阻时,就会出现这个现象。在原理图上,可以看到虚拟串口是通过MSP430F16X单片机上引出的,估计是内部固件程序在初始化串口时存在bug,造成了这个问题。因为暂时找不到可以升级的固件,为了使这个虚拟串口具有更好的通用性,可以接一个外部的上拉电阻,例如在J3的第2脚和第6脚之间接一个10K左右的电阻,就可以解决这个问题了。

/******************************************************

程序功能:接收来自PC机的字符,然后重新发送给PC机

-------------------------------------------------------

通信格式:N.8.1, 9600

无校验,8个数据位,1个停止位,波特率9600

------------------------------------------------------

测试说明:打开串口调试助手,正确设置通信格式,向学习板

发送一个字符,观察是否收到回发的字符,以及是否

正确

*******************************************************/

#include

/********************主函数********************/

void main(void)

{

WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗

P3SEL |= 0x30; // 选择P3.4和P3.5做UART通信端口

ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受

UCTL0 |= CHAR; // 选择8位字符

UTCTL0 |= SSEL0; // UCLK = ACLK

UBR00 = 0x03; // 波特率9600

UBR10 = 0x00; //

UMCTL0 = 0x4A; // Modulation

UCTL0 &= ~SWRST; // 初始化UART状态机

IE1 |= URXIE0; // 使能USART0的接收中断

while(1)

{

_EINT(); //打开全局中断

LPM1; //进入LPM1模式

while (!(IFG1 & UTXIFG0)); //等待以前的字符发送完毕

TXBUF0 = RXBUF0; //将收到的字符发送出去

}

}

/*******************************************

函数名称:UART0_RXISR

功 能:UART0的接收中断服务函数,在这里唤醒

CPU,使它退出低功耗模式

参 数:无

返回值 :无

********************************************/

#pragma vector = UART0RX_VECTOR

__interrupt void UART0_RXISR(void)

{

LPM1_EXIT; //退出低功耗模式

}

提醒:《MSP430串口调试小结》最后刷新时间 2024-03-14 01:08:08,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MSP430串口调试小结》该内容的真实性请自行鉴别。