TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: D1to en 19 de Enero de 2017, 23:21:17
-
Hola a todos, verán, estoy intentando limitar el numero de decimales de un numero que se muestra en una lcd, a 1 decimal, estoy usando un lm35 y lo almaceno en una variable tipo float ( por q necesito el valor con un decimal), he estado buscando en Internet pero no logro comprender. Agradecería si alguien tuviera una idea o pueda explicarme. :-/ :-/ :-/ . Por cierto estoy usando un 16F877A y Mikroc C
-
Deberias buscar sobre "sprintf"
-
sprintf --->identificador no declarado
-
Esa es la parte donde te dije
Deberias buscar sobre "sprintf"
Si buscabas sprintf en google, obtenias:
https://www.tutorialspoint.com/c_standard_library/c_function_sprintf.htm
La cual te dice que pertenece a stdio.h y ademas como usarla.
-
:oops: :oops: No comprendo
-
#include <stdio.h>
char str[8];
float numero = 3.1415
En str vas a tener un string para enviar con 1 solo decimal
-
:oops: :oops: No comprendo
#include <sprintf.h>
-
Discúlpenme por ser tan cabeza dura, encontré esto en la ayuda de Mikro C. Alguien podría explicarme paso a paso? que es lo q me falta en este ejemplo básico, sobre todo al momento de declarar, encontré mas información q soluciona mi problema, pero, no comprendo. Y como pueden ver en este ejemplo hay cosas q me faltan y eso significa que hay muchas cosas q no comprendo, el programa compila pero no obtengo salida enn la lcd.
https://download.mikroe.com/documents/compilers/mikroc/pic/help/sprint_library.htm (https://download.mikroe.com/documents/compilers/mikroc/pic/help/sprint_library.htm)
sbit LCD_RS at RB7_bit;
sbit LCD_EN at RB6_bit;
sbit LCD_D4 at RB5_bit;
sbit LCD_D5 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D7 at RB2_bit;
sbit LCD_RS_Direction at TRISB7_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;
void sprintf(char *buffer, const code char *f,...){
}
float variable ;
char buffer [5] ;
void main(){
LCD_INIT();
LCD_CMD(_LCD_CLEAR);
variable = 123.542 ;
while (1){
sprintf(buffer, "%.1f",variable);
Lcd_Out(1, 1, buffer);
delay_ms(10) ;
}
}