void configuracion_expansor(void){ output_low(CS_EXP); spi_write(0x04); spi_write(0x01); output_high(CS_EXP); output_low(CS_EXP); spi_write(0x0B); spi_write(0xAA); output_high(CS_EXP); output_low(CS_EXP); spi_write(0x0C); spi_write(0xAA); output_high(CS_EXP); output_low(CS_EXP); spi_write(0x0D); spi_write(0xAA); output_high(CS_EXP); output_low(CS_EXP); spi_write(0x0E); spi_write(0x6A); output_high(CS_EXP); output_low(CS_EXP); spi_write(0x0F); spi_write(0x55); output_high(CS_EXP); } void configuracion_dac(void){ output_high(CS_DAC); output_low(CS_DAC); spi_write(0xF0); spi_write(0x00); output_high(CS_DAC); output_low(CS_DAC); spi_write(0xF0); spi_write(0x04); output_high(CS_DAC); output_low(CS_DAC); spi_write(0xF0); spi_write(0x08); output_high(CS_DAC); } void inicializaciones(void){ ADFM=0; for(i=0;i<8;i++) { in_data[i]=0x00; dato[i]=0x00; } contador=0; } void un_pulso (void){ switch (contador){ case 11: {contador=12; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido1; set_timer0(0); break;} default: set_timer0(0); } } void dos_pulsos (void){ switch (contador){ case 21: {set_timer0(0); contador=22; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido1; set_timer0(VALOR); break;} case 22: {set_timer0(0); contador=23; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido2; set_timer0(0); break;} default: set_timer0(0); } } void tres_pulsos (void){ switch (contador){ case 31: {set_timer0(0); contador=32; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido1; set_timer0(VALOR); break;} case 32: {set_timer0(0); contador=33; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido2; set_timer0(VALOR); break;} case 33: {set_timer0(0); contador=34; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido3; set_timer0(0); break;} default: set_timer0(0); } } void cuatro_pulsos (void){ switch (contador){ case 41: {set_timer0(0); contador=42; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido1; set_timer0(VALOR); break;} case 42: {set_timer0(0); contador=43; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido2; set_timer0(VALOR); break;} case 43: {set_timer0(0); contador=44; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido3; set_timer0(VALOR); break;} case 44: {set_timer0(0); contador=45; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido4; set_timer0(0); break;} default: set_timer0(0); } } void cinco_pulsos (void){ switch (contador){ case 51: {contador=52; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido1; set_timer0(VALOR); break;} case 52: {contador=53; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido2; set_timer0(VALOR); break;} case 53: {contador=54; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido3; set_timer0(VALOR); break;} case 54: {contador=55; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido4; set_timer0(VALOR); break;} case 55: {contador=56; if (puerto_c.pinc1==1) puerto_c.pinc1=0; else puerto_c.pinc1=1; puerto_c.pinc2=MENSAJE.sentido5; set_timer0(0); break;} default: set_timer0(0); } }