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
}
}