工具/软件:Code Composer Studio
您好!
我遇到的问题是、在接收到的数据字符串中、MSP430FR5994会经常(但不是始终)忽略传入字符串的第一个字节(完全不接收)。 当我使用一个外部"串行端口监控器"软件时、它显示所有传入字节都是正确的。 因此问题必须在 MSP430FR5994中断函数中的某个位置、开关会忽略第一个接收到的字节。 所有其它字节都被很好地接收。 只要第一个字节是地址字节、我不知道是否接收到第一个字节、或者如果没有接收到第一个字节、就不可能说"总是忽略第一个字节、然后用第二个字节开始传输"、正如我在某些论坛中所读的那样。
如需了解相关信息、MSP430FR5994发送数据字符串的效果良好。 我将 P54和 P55与115200bps 用于此 UART。
void initUART2 (void) //UART_2
{ UCA2CTLW0 = UCSWRST;
UCA2CTLW0 |= UCSSEL_SMCLK;
UCA2BR0=2;
UCA2BR1 = 0x00;
UCA2MCTLW |= UCOS16 | UCBRF_2 | 0x0300;
UCA2CTLW0 &=~UCSWRST;
UCA2IE |= UCRXIE;
Received_bytes=0;
unsigned int i;
对于(i=0 <LENGHT_BUFFER;i++)
{recbuf[i]=0x00;}
}
#pragma vector=USCI_A2_vector
_interrupt void usart2_Rx (void)
{ recbuf[received_bytes]= UCA2RXBUF;
Received_bytes+=1;
}
int main (空)
{ ...
initPorts();
initUART2();
(笑声)
while (1)
{... //使用 recbuf[]执行某些操作
如果(没有其他可做的事情)
{LPM1;}
}
}
为了安全地接收 MSP430FR5994的所有字节、我应该更改什么?
非常感谢你的帮助。