Programación con MikroC

Cierto, subí otro código que no era :LOL: jejeje
La variable "tempC" la estás manejando como un arreglo, por eso el compilador no te permite hacer esa comparación.
Podrías trabajarlo cómo puntero, "if(*tempC<minimo)PORTE=0X01;" aunque de la forma en que vienes manejando los datos, no creo que funcione.
También puedes comparar un elemento, (El elemento que contenga la temperatura deseada) o varios elementos con un bucle for.

Por cierto, en ésta instrucción estás terminando con dos puntos:
PHP:
    if(tempC>maximo)PORTE=0X02:
 

ya hice que funcione jejeje gracias por todo, ahora viene una pregunta ¿Puedo conectar un modulo bluetooth y al mismo tiempo el max232 por los pines rx y tx del pic? lo que pasa es que tengo que mandar los datos de la temperatura a mi celular y a la pc..
 
no tendrías un ejemplo en MikroC de como puedo configurar otros pines para que hagan la función de la comunicación serial???

Para que me de una idea mas o menos..
 
El compilador tiene una librería llamada UART que permite asignar los pines TX y RX a cualquier pin del microcontrolador. Hay una pestaña en la parte izquierda del compilador llamada "Library Manager", busca la librería que te comento y clic sobre el signo (+). Te mostrara las funciones correspondiente a la librería, doble Clic sobre cualquiera y te mostrara una ventana de ayuda explicando cada función. Para futuras referencias descarga el manual de usuario del compilador, la versión en ingles, es gratuita y trae muchos ejemplos.

FAT32-library.jpg
 
Última edición:
Una consulta estoy empezando a usar MicroC PRO for PIC y el tema es LCD cuando envio el dato tipo FLOAT valor = 0.125 .... en pantalla me imprime el valor de la imagen.
Lo que digo es que en otro compilador como PIC C eso no ocurria osea te da chance a modificar incluso la cantidad de datos despues del punto decimal y no se tenia que hacer conversion de dato como el FloatToStr(valor,x)....
Ahora estoy usando este compilador porque lo necesito por temas de curso.

Ojo: No tomar en cuenta el dato ADC = 573, ya que la aplicacion era tomar datos analogicos y mostrarlo en una lcd pero tengo problemas con la conersion FloatToString.
 

Adjuntos

  • lcd_duda.jpg
    lcd_duda.jpg
    35.3 KB · Visitas: 11
Última edición:
Una consulta. Estoy empezando a usar MikroC PRO for PIC y el tema es LCD cuando envío el dato tipo FLOAT valor = 0.125, en pantalla me imprime el valor de la imagen.
Otro de los problemas de mikroC.
Lo que digo es que en otro compilador como PIC C, eso no ocurría.
O sea, te da chance a modificar incluso la cantidad de datos después del punto decimal y no se tenía que hacer conversión de dato como el FloatToStr(valor,x)
Ahora estoy usando este compilador porque lo necesito por temas de curso.
En mikroC se puede obtener la cantidad de dígitos después del punto, poniendo en 0 algún vector del arreglo que se usa como búfer.
Por ejemplo: buffer[4] = 0; y a continuación se pasa a la función de conversión.
Así se mostrarán dos dígitos después del punto.

Cuando termine el curso, cambia inmediatamente de compilador. :D

Ojo: No tomar en cuenta el dato ADC = 573, ya que la aplicación era tomar datos analógicos y mostrarlo en una lcd, pero tengo problemas con la conversión FloatToString.
Prueba de esta forma, evitando usar FloatToStr y mejor ir extrayendo las fracciones.
PHP:
void main (void)
{
    unsigned int valor_adc;
    long voltaje;
    char fracc, *msj = " Voltios";

    lcd_init();
    lcd_cmd(_LCD_CURSOR_OFF);

    ANSEL = 0x01;            // Canal 0
    adc_init();

    while (1)
    {
        valor_adc = adc_read(0);
        voltaje = ((long) 5000 * valor_adc);
        voltaje /= 1024;
        fracc = voltaje / 1000;
        lcd_chr(1,1, fracc + 48);
        lcd_chr_cp('.');
        fracc = (voltaje / 100) % 10;
        lcd_chr_cp(fracc + 48);
        fracc = (voltaje / 10) % 10;
        lcd_chr_cp(fracc + 48);
        fracc = voltaje % 10;
        lcd_chr_cp(fracc + 48);
        LCD_Out(1, 6, msj);
        delay_ms(100);
    }
}
 
Atrás
Arriba