TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430FR6043: MSP430FR6043C串口接收中断总是触发错误UCRXERR

Part Number:MSP430FR6043Other Parts Discussed in Thread:MSPWARE, MSP430FR6041, , MSP430FR5043, MSP430FR5041, EVM430-FR6043

MSP430FR6043C串口接收有时中断,我连续发送十次,也许只会正确接收一次。使用的外部晶振8M的,发送的数据是完全没有问题的。请问是哪儿没有配置上吗?

//UART1
// GPIO Configuration for UART mode
P1SEL0 |= (BIT2 | BIT3);
P1SEL1 &= ~(BIT2 | BIT3);

// Configure USCI_A1 for UART mode, 8-bit data, 1 stop bit
UCA1CTLW0 = UCSWRST; // Put eUSCI in reset
UCA1CTLW0 |= UCSSEL__SMCLK + UCRXEIE; // CLK = SMCLK

// For BRCLK = SMCLK = 8MHz, and Baud rate = 115200 (See UG)
UCA1BRW = 4;
// UCBRSx (bits 7-4) = 0x55, UCBRFx (bits 3-1) = 5, UCOS16 (bit 0) = 1
UCA1MCTLW = 0x5551;

UCA1CTLW0 &= ~UCSWRST; // release from reset

UCA1IE |= UCRXIE; //enable Receive interrupt

接收中断中

__interrupt void hal_uart_ISR(void)
{
  switch(__even_in_range(UCA1IV,18))
  {
    case USCI_NONE:
      break;
    case USCI_UART_UCRXIFG:

      if((UCA1STATW&UCRXERR)==UCRXERR)
      {//出现错误且该错误非溢出引起

           。。。。。
      }
     else
     {//串口未出错

     }
      break;
    case USCI_UART_UCTXIFG:
      break;
    case USCI_UART_UCSTTIFG:
      break;
    case USCI_UART_UCTXCPTIFG:
    break;
  }
}

Ben Qin:

你好,程序有参考过MSPware中的例程吗?

C:\ti\msp\MSP430Ware_3_80_14_01\examples\devices\MSP430FR5xx_6xx\MSP430FR6043_MSP430FR6041_MSP430FR5043_MSP430FR5041_Code_Examples\C

,

Jason Xu:

是参照的这个文件,我是用的EVM430-FR6043的demo板子,软件就是再UltrasonicGasFR6043_02_30_00_01添加上了问题描述的这一段,其他就是GPIO适配了。就会出现UCRXERR,偶尔能够正常接收。测试工具使用串口工具发出的消息。而且单独测试发送,是没有问题的,就是接收有问题。

,

Ben Qin:

我咨询下资深工程师后回复您。

,

Ben Qin:

代码看起来没有问题。是否使用较低的波特率(例如 9600)仍然能观察到此问题? 

如果使用较低的波特率可以解决问题,那么您可能需要在硬件方面进行检查以降低 UAT 引脚上的噪声水平。

,

Ben Qin:

您好,您的问题有进展了吗?

,

Jason Xu:

降低波特率确实可以解决UCRXERR出现,非常奇怪的为什么发送没有错误了,使用115200发出的数据PC都能准确的获取了,校验了数据都是正常的,唯独接收有问题

,

Ben Qin:

好的,已向工程师跟进。

,

Ben Qin:

您可以使用示波器检查 TX 和 RX 引脚上的信号。我们需要检查类比部分的信号。也许信号线中有噪声,PC可以过滤掉噪声并将其转换为正确的数字数据。但是,MCU端无法滤除噪声。并将其视为接收错误。

,

Jason Xu:

我用贵司的demo板子,EVM430FR6043测试依然有同样的问题,这点和板子没有关系吧

,

Ben Qin:

好的,工程师将尝试能否在他自己的板子上复现并解决问题。

赞(0)
未经允许不得转载:TI中文支持网 » MSP430FR6043: MSP430FR6043C串口接收中断总是触发错误UCRXERR
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1