//******* Leer Entradas *****************
int32 entradas;
int8 salidas;
int8 Temp1,Temp2;
int8 alerta_entradas1=0, alerta_entradas2=0;
void leer_entradas(void){
entradas = 0;
Temp1 = input_a(); // Leer todo PORTA
if (bit_test(Temp1,0)) bit_set(entradas,5); // Leer bit 0 (A0) de Temp y guardar en el bit 5 entradas (IN 6)
if (bit_test(Temp1,1)) bit_set(entradas,4); // Leer bit 1 (A1) de Temp y guardar en el bit 4 entradas (IN 5)
if (bit_test(Temp1,2)) bit_set(entradas,3); // Leer bit 2 (A2) de Temp y guardar en el bit 3 entradas (IN 4)
if (bit_test(Temp1,3)) bit_set(entradas,2); // Leer bit 3 (A3) de Temp y guardar en el bit 2 entradas (IN 3)
if (bit_test(Temp1,4)) bit_set(entradas,1); // Leer bit 4 (A4) de Temp y guardar en el bit 1 entradas (IN 2)
if (bit_test(Temp1,5)) bit_set(entradas,0); // Leer bit 5 (A5) de Temp y guardar en el bit 0 entradas (IN 1)
Temp2 = input_b(); // Leer todo PORTB
if (bit_test(Temp2,7)) bit_set(entradas,6); // Leer bit 7 (B7) de Temp2 y guardar en el bit 6 entradas (IN 7)
if (bit_test(Temp2,6)) bit_set(entradas,7); // Leer bit 6 (B6) de Temp2 y guardar en el bit 7 entradas (IN 8)
if (bit_test(Temp2,5)) bit_set(entradas,8); // Leer bit 5 (B5) de Temp2 y guardar en el bit 8 entradas (IN 9)
if (bit_test(Temp2,4)) bit_set(entradas,9); // Leer bit 4 (B4) de Temp2 y guardar en el bit 9 entradas (IN 10)
if (bit_test(Temp2,3)) bit_set(entradas,10); // Leer bit 3 (B3) de Temp2 y guardar en el bit 10 entradas (IN 11)
if (bit_test(Temp2,2)) bit_set(entradas,11); // Leer bit 2 (B2) de Temp2 y guardar en el bit 11 entradas (IN 12)
//******* Cambios en Entradas ***********
void alert_in() // Tarea #1
{
/*<<< Consulta estado de entradas >>>*/
alerta_entradas1 = input_change_a(); // Censar entradas 1,2,3,4,5,6 (Si hay un cambio, envia alerta)
alerta_entradas2 = input_change_b(); // Censar entradas 7,8,9,10,11 (Si hay un cambio, envia alerta)
if((alerta_entradas1 || alerta_entradas2))
{
leer_entradas(); // Consulta estado de entradas
leer_salidas(); // Consulta estado de salidas
if (SEND_DATA())
{
fprintf(uart1
,"##%s:%X:%3X##\r\n",ID
,salidas
,entradas
); // > fprintf(uart1
,"%c",0x1A); // Ctrol+z fprintf(debug
,"##%s:%X:%3X##\r\n",ID
,salidas
,entradas
); // > }
}
fprintf(debug
,"Tarea #:Alerta Entradas\r\n"); }
}