Hola, bueno estoy intentando iniciarme en mundo de los pics y de la programacion en C. Solamente he programado en pascal, y me esto me esta costando mas de lo esperado.
Tengo montado el circuito de REDPIC "Lo mínimo para comunicarnos vía RS232", el montaje funciona bien.
//************************************************************
// Propósito: Testea la UART a 9600 baudios
// Procesador: PIC16F876 con un crital de 4 MHz
// Hardware: MAX232
// Software: CCS PCM
//************************************************************
#include <16F876.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use rs232(baud=9600, bits=8, parity=E, xmit=pin_C6, rcv=pin_C7) //paridad even parity, 8 bits datos, y 2 bits stop
#include <STDLIB.H> //se incluye esta librería para poder generar un numero pseudo-aleatorio
#include <STRING.H> //se incluye esta libreria para el manejo de cadenas
//#define RAND_MAX 50 //genera el numero aleatorio
#include <MATH.H>
temperatura(){ //calcula el valor de la temperatura entre 0.0ºC - +70ºC, resolucion 0.1ºC
int temp;
srand(70); //srand(n) genera el valor pseudoaleatorio entre 0 y n
temp=rand();
return temp;
}
void main() { //void main es el programa principal, llama a las demás funciones
int temp;
printf("PIC16F876A a la espera"); // Envío mensaje de "estoy vivo"
while(true) {
if (0x0D==getc()){ //0x0D es la tecla enter
temp=temperatura();
printf(temp);
}
}
}
//*******************************************
Bueno aqui pongo el código para que me digan los errores que tengo. Creo una funcion para que me genere un numero aleatorio, cuando pulse la tecla enter debería de devolverme ese valor y mostrarmelo en el hiperterminal.
Espero que me echen una mano para ver como llamo a la funcion.
SAlu2 y gracias.