Pagina 1 di 1

problema listato c

MessaggioInviato: 21 mag 2012, 15:11
da mattia281193
essendo abituato in mikro basic mi trovo in difficoltà sulla dichiarazione in input e output
Codice: Seleziona tutto
void main(void)
{
  char stringa[7];
  int N, N_max, N_min ;
  int pos ;
  int pos_min = 0 ;
  int pos_max = 400  ;


  ADCON1 = 0x80; // Conf. Ingr. Analog.
  TRISA = 0xFF; // PORTA = input
  TRISB = 0b00000000     ;
  TRISC = 0b10000001    ;

  Uart1_Init(9600);
  while((PORTC&0x01)==0x01)
  {  PORTB=0b00000000 ;
    Delay_ms(500)  ;
    PORTB=0b00000001  ;
    Delay_ms(500) ;
  }
  N_max=adc_read(0); //posizione massima pistone
  Delay_ms(1000) ;
 
  while((PORTC&0x01)==0x01)
  {  PORTB=0b00000001   ;
    Delay_ms(500)   ;
    PORTB=0b00000000  ;
    Delay_ms(500)   ;
  }
  N_min=adc_read(0); // posizione minima pistone

  while(1)
  {
     N = Adc_Read(0);
     pos = ((pos_max - pos_min)*(N - N_min) ) / (N_max - N_min) + pos_min;
     
      IntToStr(pos, stringa);
      UART1_Write_Text(stringa);
      Delay_ms(20);
  };
}

utilizzando la uart del PIC e avendo la necessità di utilizzare uno swicth sulla portc.0 ho ipotizzato di configurare la portc c come da listato.
la istruzione if è corretta?? ?%

Re: problema listato c

MessaggioInviato: 21 mag 2012, 16:05
da mattia281193
scusate no if intendevo l'istruzione while :lol:
dovrebbe illuminarsi ad intermittenza un led sulla portb.0 fino a quando non premo il tasto su portc.0... ma niente :shock:
sto utilizzando un pic16f876a a 8mhz è tutto collegato bene quindi escludo l' hardware :-)

Re: problema listato c

MessaggioInviato: 16 giu 2012, 20:47
da Paolino
L'ingresso del micro come è tenuto, in condizioni di riposo (pulsante/interruttore aperto)? Hai messo un resistore di pull-up, come da schema qui sotto?



Ciao.

Paolo.

Re: problema listato c

MessaggioInviato: 20 giu 2012, 16:10
da mattia281193
ho risolto il listato era sbagliato :ok: mi ero dimenticato del post

Re: problema listato c

MessaggioInviato: 20 giu 2012, 20:52
da Paolino
:-M :?:

Re: problema listato c

MessaggioInviato: 20 giu 2012, 21:20
da TardoFreak
Mah!

Re: problema listato c

MessaggioInviato: 22 giu 2012, 16:52
da mattia281193
scusate avevo fretta e la risposta di conseguenza è stata irrispettosa, quindi scusate .
il resistore l'avevo messo , ma non era un problema hardware .
non mi configurava i registri tris in modo corretto , e poi cera un problema nella formula, lui faceva l'operazione a 16 bit con altre da 10 bit, quindi un mezzo casino .