Я отправляю AT-команду, чтобы получить номер IMEI.
char CGSN[] = "AT+CGSN\r\n";
// in while loop
HAL_UART_Transmit(&huart2,(uint8_t *)CGSN, sizeof(CGSN),100);
HAL_Delay(1000);
HAL_UART_Receive_IT(&huart2,(uint8_t *)&ch,1);
// Callback
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if(huart->Instance == USART2){
if(buf[i]!=13){
buf[i]=ch;
i++;
}
}
HAL_UART_Receive_IT(&huart2,(uint8_t *)&ch,1);
buf[i]=0;
}
Ответ, сохраненный в буфере, - - \r\n9876543212345\r\n\r\nOK\r\n
Каков наилучший способ получить ответ и отфильтровать n "9876543212345" & "OK"и хранить отдельно в массиве для дальнейшей обработки
Спасибо