main.c
const char * Rx_At_Response(bool isGNSS){
	char line[256];
	char ch;
	int i = 0;
	uint8_t crCount = 0;
if(isGNSS){
	while(ch != '$'){
		ch = USART_Rx(USART1);
	}
	while(ch != '*'){
		line[i] = ch;
		ch = USART_Rx(USART1);
		i++;
	}
}else{
	for(i = 0; i < 256; i++){
		ch = USART_Rx(USART1);
		line[i] = ch;

		if(ch==10 || ch==13){
			line[i] = 32;
		}
		if(ch == 13){
			crCount++;
		}
		if(crCount > 1){
			line[i] = '\0';
			break;
		}
	}
}
	return line;
}
//TODO: Agregar timeout para no bloquear el programa
//TODO: Mejorar lectura del buffer para comandos GNSS
Agregar timeout para no bloquear el programa
TODO: Mejorar lectura del buffer para comandos GNSS
Agregar timeout para no bloquear el programa TODO : Mejorar lectura del buffer para comandos GNSS
const char * Rx_At_Response(bool isGNSS){
	char line[256];
	char ch;
	int i = 0;
	uint8_t crCount = 0;
if(isGNSS){
	while(ch != '$'){
		ch = USART_Rx(USART1);
	}
	while(ch != '*'){
		line[i] = ch;
		ch = USART_Rx(USART1);
		i++;
	}
}else{
	for(i = 0; i < 256; i++){
		ch = USART_Rx(USART1);
		line[i] = ch;
		if(ch==10 || ch==13){
			line[i] = 32;
		}
		if(ch == 13){
			crCount++;
		}
		if(crCount > 1){
			line[i] = '\0';
			break;
		}
	}
}
	return line;
}
const char * Rx_At_Response ( bool isGNSS ) { char line [ 256 ] ; char ch ; int i = 0 ; uint8_t crCount = 0 ; if ( isGNSS ) { while ( ch != ' ' ) { ch = USART_Rx ( USART1 ) ; } while ( ch != ' ' ) { line [ i ] = ch ; ch = USART_Rx ( USART1 ) ; i ++ ; } } else { for ( i = 0 ; i < 256 ; i ++ ) { ch = USART_Rx ( USART1 ) ; line [ i ] = ch ; if ( ch == 10 || ch == 13 ) { line [ i ] = 32 ; } if ( ch == 13 ) { crCount ++ ; } if ( crCount > 1 ) { line [ i ] = ' \0 ' ; break ; } } } return line ; }
TODO: Agregar timeout para no bloquear el programa
TODO: Mejorar lectura del buffer para comandos GNSS
TODO : Agregar timeout para no bloquear el programa TODO : Mejorar lectura del buffer para comandos GNSS