PIC16f88 AUSART Gibberish

-1

Tengo un proyecto en el que estoy trabajando que utilizará el A / D en un PIC16F88 para medir el voltaje de un dispositivo externo. Antes de profundizar demasiado en el proyecto, quería configurar el UART para poder transmitir los datos de depuración a mi PC por una vez que comencé a probar y necesitaría posiblemente "imprimir" datos a mi PC para verificar, pero ahora mismo todo lo que envío como caracteres y no como los números que estoy cargando en el TXREG . Cualquier ayuda de la comunidad sería muy apreciada. Tengo mi código y una captura de pantalla de Tera Term a continuación.

//PIC16F88ConfigurationBitSettings//'C'sourcelineconfigstatements//CONFIG1#pragmaconfigFOSC=INTOSCIO//OscillatorSelectionbits(INTRCoscillator;portI/OfunctiononbothRA6/OSC2/CLKOpinandRA7/OSC1/CLKIpin)#pragmaconfigWDTE=OFF//WatchdogTimerEnablebit(WDTdisabled)#pragmaconfigPWRTE=OFF//Power-upTimerEnablebit(PWRTdisabled)#pragmaconfigMCLRE=OFF//RA5/MCLR/VPPPinFunctionSelectbit(RA5/MCLR/VPPpinfunctionisMCLR)#pragmaconfigBOREN=OFF//Brown-outResetEnablebit(BORdisabled)#pragmaconfigLVP=OFF//Low-VoltageProgrammingEnablebit(RB3/PGMpinhasPGMfunction,Low-VoltageProgrammingenabled)#pragmaconfigCPD=OFF//DataEEMemoryCodeProtectionbit(Codeprotectionoff)#pragmaconfigWRT=OFF//FlashProgramMemoryWriteEnablebits(Writeprotectionoff)#pragmaconfigCCPMX=RB0//CCP1PinSelectionbit(CCP1functiononRB0)#pragmaconfigCP=OFF//FlashProgramMemoryCodeProtectionbit(Codeprotectionoff)//CONFIG2#pragmaconfigFCMEN=OFF//Fail-SafeClockMonitorEnablebit(Fail-SafeClockMonitordisabled)#pragmaconfigIESO=OFF//InternalExternalSwitchoverbit(InternalExternalSwitchovermodedisabled)#include<htc.h>#include<xc.h>#include"HW.h"
#include "Int.h"
#include "Port.h"

long     int SIGNALIN = 0x00;
long     int PERCENT, UPPER, LOWER;
unsigned int SAMPLE   = 0x00;

#define _XTAL_FREQ 8000000



void main(void)
{
    OSCCON  = 0b01111110;
    OSCTUNE = 0b00011111;
    TRISA   = 0x10;
    TRISB   = 0xDC; //SET PORTB BITS 0,1,& 5 AS OUTPUTS
    PORTB   = 0x00; 

    while(1)                        //Infinite Loop
    {
        SPBRG = 0x0C;       //Set BAUD rate to 9600
        BRGH  = 0x00;       //Low Speed Transmitssions
        SYNC  = 0x00;
        SPEN  = 0x01;       //Serial Port Enabled
        TXEN  = 0x01;       //Transmission Enabled
        TX9   = 0x00;       //Set Transmissions as 8 Bits
        TXREG = 0x23;       //By loading data to TXREG, I'm starting the transmission
    }
}
    
pregunta Chris

0 respuestas

Lea otras preguntas en las etiquetas