PIC32 y MPLAB Harmony, controlador USART

0

Estoy intentando emitir algunas lecturas de ADC desde un potenciómetro sobre USART utilizando el PIC32MX220F032B. Tengo todo el hardware configurado y funcionando, y he configurado un nuevo proyecto utilizando la armonía MPLAB y tengo el PIC recogiendo valores de un potenciómetro utilizando el módulo ADC. También he configurado el módulo USART y puedo emitir bytes individuales a la vez utilizando la función ByteWrite del controlador USV DRV de Harmony. Sin embargo, he estado luchando durante horas para intentar convertir las lecturas de ADC en una representación ASCII que puedo enviar Putty, mi programa terminal. El problema es tal que la función de controlador de armonía DRV_USART0_WriteByte (argumento); toma un uint8_t como argumento.

Intenté escribir las siguientes funciones para convertir cada decimal a un uint8_t y transmitir usando la función de escritura del controlador:

 void intToByte(int input){

    int j =0;
    int size = numPlaces(input);

     while(j<size){
     appData.buffer = input % 10;  // remainder of division with 10 gets the last digit
     input /= 10;     // dividing by ten chops off the last digit.
     DRV_USART0_WriteByte(appData.buffer);
     j++;
} 
}


int numPlaces (int n) {
    if (n == 0) return 1;
    return floor (log10l(abs(n)))+ 1;
}

Desafortunadamente, solo obtengo diferentes caracteres ASCII no sensitivos en mi programa de terminal en serie.

Me preguntaba si hay expertos en PIC32 que hayan trabajado con Harmony y que puedan decirme cómo se aproximan a la impresión de enteros utilizando DRV_USART0_WriteByte ().

Gracias.

    
pregunta Blargian

0 respuestas

Lea otras preguntas en las etiquetas