We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]
posted on 2012/11/09 10:26:35 AM CET
What I'd like to do is to get a potentiometer reading and look at it live and store it on my PC. I don't even know if this is possible using UART. I've been trying to do this on the EasyPIC7 prototype board with no luck. I'd be open to use another communication method so long as it gets the job done.
USER Comments
posted on 2013/03/13 09:11:04 PM CET
Puede usar este código que edite para enviar los datos al computador por RS232:
Puede recibir los datos con Hyperterminal, LabView o USART Terminal de MikroC.
// MikroC Code: (For 16F877A - 4MHz)
long Grados; // Variable ENTERA de - 2147483647 a 2147483647.
float voltios, Angulo; //(Declaro float para que tome los decimales).
const float m = 0.0089; // Pendiente de la Ecuacion.
// Constante sin signo para guardar el Voltaje de referencia Vref+ (RA3):
const float VREF = 5;
int Centenas=0;
int Decenas=0;
int Unidades=0;
int Nivel=0;
void main() // FUNCIÓN PRINCIPAL:
{
//ASIGNACIÓN DE REGISTROS PARA DEFINIR ENTRADAS,SALIDAS Y OTRAS CONFIGURACIONES.
ADCON1=0b10001111; // BIT_7=1: Justifica a la derecha el resultado.
// Y los últimos 4 BITS dan la configuracion de Puerto A.
// Hay una Tabla Adjunta (CONFIGURACION ADCON1.jpg).
// AN0= Entrada Análoga (RA0).
// AN2= Entrada Vref - (RA2).
// AN3= Entrada Vref + (RA3).
// Los demás pines del puerto A son Digitales.
TRISA = 0b00000111; // RA0 es entrada analógica[0 = Salida ___ 1 = Entrada].
// Y los demás son salidas digitales (Menos RA2 Y RA3).
TRISD=0;
PORTD=0;
Delay_ms(4000);
// INICIAR EL MODULO UART:
UART1_Init(9600); // initialize UART1 module
Delay_ms(100);
UART1_Write_Text("SENSOR DE NIVEL");
UART1_Write(10);
UART1_Write(13);
do //HACER:
{
Muestra = ADC_Read(0); // Conversión A/D. Pin RA0 es la entrada.
Nivel = Muestra >> 2; // Send 8 most significant bits
//Delay_ms(10);
UART1_Write(Nivel);
} while(1); // While (1); ES UN BUCLE INFINITO.
}
Este programa envÃa el resultado de la conversión de 8bit por RS232 al computador.
FUNCIONA OK.
Do you want to report abuse comment ID: 638 in "ADC to PC via UART communication" request.
posted on 2012/11/17 08:14:39 AM CET
which language do you program with? . and what is the name of the mcu you are using? u need to make use of the uart and adc library. i think u just need to measure the value, shift the first eight bit to variable then write the varible to the serial port. but im goin to look at that tonight using MikroC .
Do you want to report abuse comment ID: 470 in "ADC to PC via UART communication" request.