problema listato c
essendo abituato in mikro basic mi trovo in difficoltà sulla dichiarazione in input e output
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??
- 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??


mi ero dimenticato del post