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í.