
msp430f247单片机UART0接收字符串,接完之后,再通过UART0发出去。总是丢数据
如果发送10个字节,第7个字节的数据总是丢,如果数据更多的话,程序就会乱了就是这段程序出的问题,哪位大神能帮帮我啊?谢谢了!//UART0接收中断服务程序,将接收到的数据...
如果发送10个字节,第7个字节的数据总是丢,如果数据更多的话,程序就会乱了
就是这段程序出的问题,哪位大神能帮帮我啊?谢谢了!
//UART0接收中断服务程序,将接收到的数据回发PC
#pragma vector = USCIAB0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
IE2 &= ~UCA0RXIE; // Una××e USCI_A0 TX/RX interrupt
UC1IE &= ~UCA1RXIE; // Una××e USCI_A1 TX/RX interrupt
unsigned int ee;
unsigned char receive_pc[100];
for(ee=0;ee<10;ee++)
{
receive_pc[ee] = UCA0RXBUF;
delay_time(300);
}
if((receive_pc[0] == 0x66) && (receive_pc[1] == 0x66))
{
unsigned int f;
for(f=0;f<10;f++)
{
while((IFG1 & UCA1TXIFG) == 0);//判断发送是否完成
delay_time(300);
UCA0TXBUF = receive_pc[f];
}
while((IFG1 & UCA0TXIFG) == 0);//判断发送是否完成
delay_time(300);
} 展开
就是这段程序出的问题,哪位大神能帮帮我啊?谢谢了!
//UART0接收中断服务程序,将接收到的数据回发PC
#pragma vector = USCIAB0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
IE2 &= ~UCA0RXIE; // Una××e USCI_A0 TX/RX interrupt
UC1IE &= ~UCA1RXIE; // Una××e USCI_A1 TX/RX interrupt
unsigned int ee;
unsigned char receive_pc[100];
for(ee=0;ee<10;ee++)
{
receive_pc[ee] = UCA0RXBUF;
delay_time(300);
}
if((receive_pc[0] == 0x66) && (receive_pc[1] == 0x66))
{
unsigned int f;
for(f=0;f<10;f++)
{
while((IFG1 & UCA1TXIFG) == 0);//判断发送是否完成
delay_time(300);
UCA0TXBUF = receive_pc[f];
}
while((IFG1 & UCA0TXIFG) == 0);//判断发送是否完成
delay_time(300);
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询