Pagina 1 di 2

PIC problema conversione

MessaggioInviato: 27 lug 2012, 19:57
da mattia281193
ho un problema con questo listato parla di una "suspicious conversion"
devo visualizzare su un display 16x2 una temperatura da 0 a 100 c°.
il display scrive correttamente "temp" ma la variabile no
Codice: Seleziona tutto
// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections

unsigned int dato;
long volt,volt2[8];

void main(){
  TRISB=0x00;
  ADCON1 = 0x80;
  TRISA=0xFF;



  Lcd_Init();
  while(1){
  dato=adc_read(0);
  volt= (long) ((dato*100)/634);
  LongToStr(volt,volt2);
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  Lcd_Out(1,1,"temp=");
  Lcd_Out(1,6,volt2);

  Delay_ms(1000);
  };


  }

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 20:36
da Candy
Abbi pazienza ma la variabile "volt2" è veramente mal dichiarata.
A cosa pensavi?

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 21:25
da mattia281193
scusa a cosa ti riferisci ? ?%

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 21:29
da Candy
Non è mia abitudine, ma sono tentato da votarti negativamente.
A cosa si può riferire la mia affermazione? LA DICHIARAZIONE DELLA VARIABILE "volt2" cosa può significare?
Ci sono forse meno di 30 righe di codice. E' troppo difficile trovare la dichiarazione della variabile "volt2"? Controllarla? Ti si deve anche correggere il codice?

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 21:37
da mattia281193
ti riferisci alla grandezza della stringa o al tipo di variabile??? scusa l'ignoranza

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 21:59
da TardoFreak
Se questo è un listato in C è più facile elencare le cose corrette che gli errori.
Il "se" è d' obbligo.

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 22:10
da mattia281193
perche invece di sfottere non siete diretti ,avete forse 20 di esperienza in piu di me.
sono 4 mesi che smanetto in c non ho avuto professori in grado sono un auto didatta e da auto didatta faccio , scrivo , e dico blasfemie e sinceramente penso che siano le persone come voi che fanno passare la voglia di continuare , sono iscritto ad altri forum ed ho sempre scelto questo come la prima opzione, ma mi avete fatto cambiare idea.

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 22:12
da AjKDAP
prova cosi:

Codice: Seleziona tutto
unsigned int dato;
long volt;
unsigned char volt2[8];


per il resto leggendo il listato velocemente non vedo nulla di strano :ok:

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 22:18
da TardoFreak
"sbit" cos' è?
Quale compilatore sta usando?
Quali librerie?

Non c'è un "include" manco a pagarlo oro.

Poi, per carità, forse sono io che di C non ne capisco niente.

Addio. O_/

Re: PIC problema conversione

MessaggioInviato: 27 lug 2012, 22:22
da mattia281193
gia ho provato cosi... non va!
gia mi sono imbattuto in una situazione simile con l'uart del PIC il problema in realtà non era nella conversione ma nella formula .
da quello che so il micro c pro simula 16 bit il PIC 16f876a è a 8 bit e le variabili a 32 quindi durante loperazione vengono troncate...
anche se dovrebbe apparire comunque un valore numerico, invece il display impazzisce letteralmente