当前位置: 代码迷 >> 单片机 >> 为什么小弟我的MSP430 串口UART0的接收到了 串口UART0自己的发送的数据
  详细解决方案

为什么小弟我的MSP430 串口UART0的接收到了 串口UART0自己的发送的数据

热度:79   发布时间:2016-04-28 16:08:09.0
为什么我的MSP430 串口UART0的接收到了 串口UART0自己的发送的数据?
我的MSP430单片机的U0接的是GPRS模块,U0向GPRS模块发送数据(通过GPRS与外界联系),出现了一个让人很困惑的现象,串口0的接收缓存和数组里面收到了U0自己往外发的数据,也就是闹了乌龙,自己的向外发的数据,竟然有时候出现在了了自己的缓存里面. 很是不解。望高手指点。

接收函数:

  #pragma vector=USCI_A0_VECTOR
__interrupt void USCI_A0_ISR()
{
  
  UART0_RX_BUF[UART0_RX_Len++] = UCA0RXBUF;

  UCA3TXBUF=UCA0RXBUF;//把接收的数据发到U3便于观察(LCX注)
  ReadUART0_new=Read_Cycle;
  
  if(UART0_RX_Len >= UART0_RX_MAXLen)
  {
  UART0_RX_Len = 0;
  memset(UART0_RX_BUF,0,UART0_RX_MAXLen);
  }

  
}

------解决方案--------------------
中断里有没有必要判断一下,当前产生的中断,是接收中断?还是发送中断呢?

:)

另外,管脚有没有粘连?
------解决方案--------------------
GPRS模块是不是开了回显。
如果开了回显,比如串口向GPRS模块发送AT,GPRS模块会返回一个AT。
先通过串口发送一个ATE0命令给GPRS模块关掉回显试试。