中级会员
 
- 积分
- 278
- 金钱
- 278
- 注册时间
- 2016-9-13
- 在线时间
- 73 小时
|
5金钱
我想接收一个数组,但是不确定数组多少个元素,设定假如输入的数组元素大于4,则提示输入错误;元素个数等于4,则和事先准备好的数组进行比较。但是这个中断是每接收一个字符就进一次中断,那么输入的数组元素为6个,但是也会有元素个数等于4的时候,这样明明输入6个元素,是错误的,但是当输入4个元素的时候就会开始和事先准备好的数组进行比较。
比如一开始的数组是 1234, 我输入12345,它也会认为我是对的
请问怎么解决这个问题?谢谢
void USART1_IRQHandler(void)
{
if (USART_GetITStatus(USART1, USART_IT_RXNE))
{
Uart_Rx_Buf[Uart_Rx_Cnt] = USART_ReceiveData(USART1);
Uart_Rx_Cnt++;
if(Uart_Rx_Cnt >= Max_Len)
{
Uart_Rx_Cnt = 0;
USART_RX_flag = 1;
}
}
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
|
|