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.

[参考译文] MSP430F249:UART 中断不工作

Guru**** 2539500 points
Other Parts Discussed in Thread: MSP430F249

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/727795/msp430f249-uart-interrupt-not-working

器件型号:MSP430F249

您好!

请帮助一个愚蠢的学生...

我正在尝试使我的 msp430f249与 UART 一起工作、

它会打印、但剂量会对输入做出反应(无 ECO)

我在中断中放置了一个停止符号、它不会触发

不明白为什么。

这是代码   

感谢你们的帮助!!!

#include 
#include 
#include "msp430f249.h"


空 InitUART0 (空) //UART0初始
化{

//input_data=P3IN; //只读寄存器
P3OUT = 0x00; //输出为低
电平 P3SEL = 0x30; //外设模块功能:为 UTXD0和 URXD0
P3DIR = 0x10启用; // 1 ->输出;0 ->输入;UTXD0输出 P3.4 TX
P3REN = 0x00; //上拉/下拉电阻器被禁用


UCA0CTL1 |= 0x01;// 1)设置 UCSWRST
// 2)初始化所有 USCI 寄存器 UCSWRST = 1 (包括 UCAxCTL1)
UCA0CTL0 = 0x00;// 0x40 -> MSB 第一
个 UCA0CTL1 = 0x41;UCA0BR3
= 0x333/ UCA068/0 = 0x00;UCA0BR0 = 0x3270 = 0x00;//
//写入除数"N"的整数部分,即 UCBRx = INT (N)= 3
UCA0MCTL = 0x08;// UCBRSx = round ((N - INT (N))* 8)= 4

UCA0CTL1 &=~0x01;
// 5)启用中断(可选)
IE2 |= 0x01; // USCI_A0接收中断使能
IFG2 &=~0x01;//清除 UCA0 RXIFG

__bis_SR_register (GIE);
// for (int i=10;i;i--);//短延迟
}

void UART_transmit (unsigned char Data)
{
while (UCA0STAT & 0x01);// for (int I;IAR





+ UARTx+ Transmit)}(void UART+(UCA0+)(UARTx+)(UART+(UART+)(UART+)(UART+)* 0+(UCA+


#pragma vector=USCIAB0RX_Vector
__interrupt void USCI0RX_ISR (void)
{
UART_transmit (UCA0RXBUF+1); //发送回波+1
}


int main( void ){

//停止看门狗计时器以防止超时复位


WDTCTL = WDTPW + WDTHOLD;

InitUART0 ();

UART0SendTxt ("\r\nHTTPS://www.olimex.com/");
UART0SendTxt ("\r\n 按任意键返回回显(下一个 ASCII 符号)\r\n");
while (1);
}

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

    请参阅以下代码示例进行比较。 我们提供了多个 UART Echo 示例、可帮助您解决问题。

    dev.ti.com/.../

    此外、请查看以下应用手册以了解调试通信问题。
    http://www.ti.com/lit/slaa734
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、但我发布的代码来自其中一个示例、我尝试了其他代码。 仍然不起作用... 我换了一个 uart1女巫工作,但我不知道为什么,如果有人能解释,我会很高兴。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此响应已编辑。


    请忽略之前找到她的这封邮件、因为该邮件旨在用于其他帖子和主题。 我稍后将在本主题中回答更相关的问题。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是我使用的板:
    www.olimex.com/.../

    我焊接了一个引脚连接器、因此我可以非常轻松地在 uart0和 uart1之间切换。
    我开始怀疑 uart0出现故障
    是否有办法在不使用新微控制器的情况下欺骗它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jenia、

    遗憾的是、我不熟悉该板、因为它不是由 TI 制造的。 我会仔细检查焊料连接、并仔细检查与此电路板相关的原理图、以查看与 UARTA0关联的引脚是否与此电路板上的其他引脚或外部器件相连。 如果是、这可能会导致 UARTA0实现出现问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的。 感谢您的帮助!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    根据原理图、UTXD0/URXD0 (P3.4/P3.5)永久连接到 RS-232 (除非您剪切一些布线)。 如果您点击标题条、ST232仍将驱动 URXD0线(高电平)、这将干扰您的信号。

    如果您有一个 USB 转 RS232转换器、您应该能够将其馈入 DB-9并到达 UART0。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢你们的帮助!