Tengo un PIC32 starter kit y estoy haciendo un programa tal que cuando aplico la entrada 1, MCU enviará estos datos a mi PC usando UART y se mostrará INPUT 1 ON en el terminal, lo mismo ocurre con la entrada 2 & 3. Estas entradas provienen de acopladores ópticos y son básicamente de 3.1v. Entonces, cuando aplico estas entradas, el pin de MCU se vuelve alto, los datos se envían a la PC usando UART y se muestra INPUT 1 ON o INPUT 2 ON .
Pero el problema es, digamos, he aplicado la entrada 1 y el terminal muestra INPUT 1 ON y al mismo tiempo, si aplico la entrada 2, INPUT 1 ON se apaga y INPUT 2 ON comenzó a mostrarse. Quiero que se muestre tanto INPUT 1 ON INPUT 2 ON y si aplico la entrada 3 al mismo tiempo, también se muestre INPUT 3 ON junto con INPUT 1 ON INPUT 2 ON . No sé cómo hacer lógica para esto. ¿Alguien puede simplemente ayudarme con esto? Gracias
CÓDIGO:
if(PORTAbits.RA6 == 0)
{
putsUART2(">>Input: 1 ON\r\n");
}
if(PORTAbits.RA6 == 1)
{
putsUART2(">>Input: 1 OFF\r\n");
}
if(PORTAbits.RA7 == 0)
{
putsUART2(">>Input: 2 ON\r\n");
}
if(PORTAbits.RA7 == 1)
{
putsUART2(">>Input: 2 OFF\r\n");
}
if(PORTGbits.RG13 == 0)
{
putsUART2(">>Input: 3 ON\r\n");
}
if(PORTGbits.RG13 == 1)
{
putsUART2(">>Input: 3 OFF\r\n");
}
EDIT
En este momento, lo que estoy tratando de hacer es if(PORTAbits.RA6 == 0) , debería mostrar Input: 1 ON y si if(PORTAbits.RA6 == 1) debería mostrar Input: 1 OFF e igual para otras entradas. Pero lo que sucede es que cuando no hay entrada Input: 1 OFF Input: 2 OFF Input: 3 OFF se muestra pero cuando if(PORTAbits.RA6 == 0) aparece, muestra Input: 1 ON solo una vez y luego muestra continuamente Input: 1 OFF Input: 2 OFF Input: 3 OFF . No sé por qué se comporta así.