@@ -37,19 +37,26 | |||
|
37 | 37 | #define PUERTO_SERVIDOR 5500 |
|
38 | 38 | #define TAM_BUFFER 1024 |
|
39 | 39 | |
|
40 | #define maskc_out PC30+PC28+PC26+PC24+PC22+PC20 //MSB-UP-LSB MSB-DOWN-LSB //APUNTE | |
|
41 | ||
|
42 | #define maskb_in PB16+PB18+PB20+PB30+PB24+PB22 //MSB-UP-LSB MSB-DOWN-LSB //VERIFICACION | |
|
43 | ||
|
44 | #define bit_up_2 0x00010000 //Mascara de cada bit a revisar: bit_up_2 es MSB | |
|
45 | #define bit_up_1 0x00040000 | |
|
46 | #define bit_up_0 0x00100000 | |
|
47 | #define bit_dow_2 0x40000000 | |
|
48 | #define bit_dow_1 0x01000000 | |
|
49 | #define bit_dow_0 0x00400000 | |
|
50 | ||
|
51 | #define MyID 11 | |
|
52 | #define MAXPENDING 5 /* Maximum outstanding connection requests */ | |
|
40 | #define maskc_out_beam PC30+PC28+PC26+PC24+PC22+PC20 //MSB-UP-LSB MSB-DOWN-LSB //APUNTE | |
|
41 | #define maskc_out_cntl PC4+PC5+PC6 //MONITORING CONTROL | |
|
42 | ||
|
43 | #define mask_sel_canal PC4 //MONITORING CONTROL | |
|
44 | #define mask_sel_atenuacion PC5 | |
|
45 | #define mask_sel_calibracion PC6 | |
|
46 | ||
|
47 | #define maskb_in PB16+PB18+PB20+PB30+PB24+PB22 //MSB-UP-LSB MSB-DOWN-LSB //VERIFICACION | |
|
48 | ||
|
49 | #define maskc_in_adc PC0+PC1 | |
|
50 | ||
|
51 | #define bit_up_2 0x00010000 //Mascara de cada bit a revisar: bit_up_2 es MSB | |
|
52 | #define bit_up_1 0x00040000 | |
|
53 | #define bit_up_0 0x00100000 | |
|
54 | #define bit_dow_2 0x40000000 | |
|
55 | #define bit_dow_1 0x01000000 | |
|
56 | #define bit_dow_0 0x00400000 | |
|
57 | ||
|
58 | #define MyID 11 | |
|
59 | #define MAXPENDING 5 /* Maximum outstanding connection requests */ | |
|
53 | 60 | |
|
54 | 61 | //parameters for the name of the output file |
|
55 | 62 | #define FPRE "AD" //prefix for the output file name |
@@ -58,7 +65,7 | |||
|
58 | 65 | |
|
59 | 66 | //ADC parameters |
|
60 | 67 | #define REP 1 //defines how many times the data acquisation loop is repeated |
|
61 |
#define NSAMPLES 10 |
|
|
68 | #define NSAMPLES 10 //defines how many samples are taken in one data acqu- | |
|
62 | 69 | // isation loop |
|
63 | 70 | #define CNVTIME 14.3 //defines how long it takes to get one sample. Value |
|
64 | 71 | // is only needed for the output file, doesn't change |
@@ -71,6 +78,9 | |||
|
71 | 78 | |
|
72 | 79 | AT91S_PIO *pioc; |
|
73 | 80 | AT91S_PIO *piob; |
|
81 | AT91S_PIO *pio_adc; | |
|
82 | AT91S_ADC *padc; | |
|
83 | AT91S_ADC *padd; | |
|
74 | 84 | |
|
75 | 85 | struct control_module_parameters { |
|
76 | 86 | char ID[20]; |
@@ -99,6 +109,7 | |||
|
99 | 109 | int rxData(int, char*); |
|
100 | 110 | void txData(int, char*); |
|
101 | 111 | void inicializa_gpio(); |
|
112 | void inicializa_adc(); | |
|
102 | 113 | void procesa_peticion(char *rx_buffer, char *tx_buffer); |
|
103 | 114 | int cambia_apuntamiento(char *puntero_char); |
|
104 | 115 | int carga_experimento(char *nombre_archivo); |
@@ -108,8 +119,8 | |||
|
108 | 119 | void intToStr( int number, char* str ); |
|
109 | 120 | |
|
110 | 121 | //ABS monitoring |
|
111 | int ABS_monitoreo(int sel_atenuador, int sel_calibracion, float umbral, int pulsewidth); | |
|
112 | ||
|
122 | //int ABS_monitoreo(int sel_atenuador, int sel_calibracion, float umbral, int pulsewidth); | |
|
123 | char* ABS_monitoreo(int sel_atenuador, int sel_calibracion, float umbral, int pulsewidth); | |
|
113 | 124 | AT91S_ADC * configADC1(void); |
|
114 | 125 | AT91S_ADC * configADC2(void); |
|
115 | 126 | |
@@ -144,6 +155,7 | |||
|
144 | 155 | servSocket = inicializa_ethernet(); |
|
145 | 156 | /* Inicializamos el puerto GPIO del sistema embebido GSBC-9260S */ |
|
146 | 157 | inicializa_gpio(); |
|
158 | inicializa_adc(); | |
|
147 | 159 | |
|
148 | 160 | while(1){ |
|
149 | 161 | // Recepción TCP de petición |
@@ -239,14 +251,19 | |||
|
239 | 251 | */ |
|
240 | 252 | void inicializa_gpio(){ |
|
241 | 253 | |
|
242 | // Configuracion de los pines de APUNTE | |
|
254 | int desplazamiento_beam[6]={30,28,26,24,22,20}; //Desplazamientos para los pines de apunte | |
|
255 | int desplazamiento_cntl[3]={4,5,6}; //Desplazamientos para los pines de control de monitoreo | |
|
256 | unsigned long acumulado_ceros=0; | |
|
257 | int i; | |
|
258 | ||
|
259 | // Configuracion de los pines de APUNTE y control de monitoreo | |
|
243 | 260 | pioc = pio_map(PIOC_BASE); |
|
244 | pio_enable(pioc, maskc_out); | |
|
245 | pio_disable_irq(pioc, maskc_out); | |
|
246 | pio_disable_multiple_driver(pioc, maskc_out); | |
|
247 | pio_disable_pull_ups(pioc, maskc_out); | |
|
248 | pio_synchronous_data_output(pioc, maskc_out); | |
|
249 | pio_output_enable(pioc, maskc_out); | |
|
261 | pio_enable(pioc, maskc_out_beam + maskc_out_cntl); | |
|
262 | pio_disable_irq(pioc, maskc_out_beam + maskc_out_cntl); | |
|
263 | pio_disable_multiple_driver(pioc, maskc_out_beam + maskc_out_cntl); | |
|
264 | pio_disable_pull_ups(pioc, maskc_out_beam + maskc_out_cntl); | |
|
265 | pio_synchronous_data_output(pioc, maskc_out_beam + maskc_out_cntl); | |
|
266 | pio_output_enable(pioc, maskc_out_beam + maskc_out_cntl); | |
|
250 | 267 | |
|
251 | 268 | // Configuracion de los pines de VERIFICACION |
|
252 | 269 | piob = pio_map(PIOB_BASE); |
@@ -255,6 +272,34 | |||
|
255 | 272 | pio_disable_multiple_driver(piob, maskb_in); |
|
256 | 273 | pio_disable_pull_ups(piob, maskb_in); |
|
257 | 274 | pio_input_enable(piob, maskb_in); |
|
275 | ||
|
276 | //Pînes de ADC | |
|
277 | pio_adc = pio_map(PIOC_BASE); | |
|
278 | pin_adc_enable(pio_adc,maskc_in_adc); //Habilitamos PC0 para usar con ADC0 y 1 | |
|
279 | pio_disable_irq(pio_adc, maskc_in_adc); | |
|
280 | pio_disable_multiple_driver(pio_adc, maskc_in_adc); | |
|
281 | pio_disable_pull_ups(pio_adc, maskc_in_adc); | |
|
282 | pio_input_enable(pio_adc, maskc_in_adc); | |
|
283 | ||
|
284 | //Inicializando a cero los pines de apunte | |
|
285 | for(i=0;i<6;i++) | |
|
286 | acumulado_ceros= acumulado_ceros + (1 << desplazamiento_beam[i]); | |
|
287 | pio_out(pioc, maskc_out_beam, acumulado_ceros, 0); | |
|
288 | ||
|
289 | //Inicializando a cero los pines de control de monitoreo: atenuacion, calibracion y canal | |
|
290 | for(i=0;i<3;i++) | |
|
291 | acumulado_ceros= acumulado_ceros + (1 << desplazamiento_cntl[i]); | |
|
292 | pio_out(pioc, maskc_out_cntl, acumulado_ceros, 0); | |
|
293 | ||
|
294 | } | |
|
295 | ||
|
296 | void inicializa_adc(){ | |
|
297 | ||
|
298 | if (configCLK() == 1) | |
|
299 | printf("clock ADC enable.\n"); | |
|
300 | //configure ADC Settings | |
|
301 | padc=configADC1(); | |
|
302 | padd=configADC2(); | |
|
258 | 303 | } |
|
259 | 304 | |
|
260 | 305 | |
@@ -316,7 +361,6 | |||
|
316 | 361 | *(crc + 1) = '\0'; |
|
317 | 362 | } |
|
318 | 363 | |
|
319 | ||
|
320 | 364 | /* |
|
321 | 365 | * Esta funcion procesa el mensaje de peticion y genera respuesta |
|
322 | 366 | */ |
@@ -351,8 +395,8 | |||
|
351 | 395 | printf("%s\n",tx_data); |
|
352 | 396 | } |
|
353 | 397 | else if(strcmp(cmd,"ANPH") == 0){ |
|
354 | ABS_monitoreo(1, 1, 50, 10); | |
|
355 | tx_data = "Not implemented\n"; | |
|
398 | tx_data = ABS_monitoreo(1, 1, 50, 10); | |
|
399 | // tx_data = "Not implemented\n"; | |
|
356 | 400 | printf("%s\n",tx_data); |
|
357 | 401 | } |
|
358 | 402 | else if(strcmp(cmd,"NTST") == 0){ |
@@ -491,8 +535,8 | |||
|
491 | 535 | acumulado_unos= acumulado_unos + (1 << desplazamiento[offset]); |
|
492 | 536 | } |
|
493 | 537 | } |
|
494 | pio_out(pioc, maskc_out, acumulado_unos, 1); | |
|
495 | pio_out(pioc, maskc_out, acumulado_ceros, 0); | |
|
538 | pio_out(pioc, maskc_out_beam, acumulado_unos, 1); | |
|
539 | pio_out(pioc, maskc_out_beam, acumulado_ceros, 0); | |
|
496 | 540 | |
|
497 | 541 | return 1; |
|
498 | 542 | |
@@ -617,16 +661,19 | |||
|
617 | 661 | //ABS_monitoreo es la funci�n principal del proyecto ABS_Monitoreo. |
|
618 | 662 | //Esta funci�n es la que se debe agregar en otros c�digos. |
|
619 | 663 | //***************************************************************** |
|
620 |
|
|
|
664 | char* ABS_monitoreo(int sel_atenuador, int sel_calibracion, float umbral, int pulsewidth){ | |
|
621 | 665 | |
|
622 | 666 | //local variables |
|
623 | AT91S_PIO *pioc; | |
|
667 | /* AT91S_PIO *pioc; | |
|
624 | 668 | pioc = pio_map(PIOC_BASE); |
|
625 | 669 | unsigned int mask_sel_canal =PC4; //Aqu� se indican los pines que se desean usar como salidas. Las constantes PCx est�n defiidas en el header at91gpio.h |
|
626 | 670 | unsigned int mask_sel_atenuacion =PC5; |
|
627 |
|
|
|
628 | AT91S_ADC *padc; | |
|
629 | AT91S_ADC *padd; | |
|
671 | unsigned int mask_sel_calibracion =PC6;*/ | |
|
672 | ||
|
673 | unsigned long acumulado_ceros=0; | |
|
674 | unsigned long acumulado_unos=0; | |
|
675 | /* AT91S_ADC *padc; | |
|
676 | AT91S_ADC *padd;*/ | |
|
630 | 677 | FILE *fp; |
|
631 | 678 | long int results1[NSAMPLES], results2[NSAMPLES], results3[NSAMPLES], results4[NSAMPLES]; |
|
632 | 679 | unsigned int i=0; |
@@ -636,12 +683,14 | |||
|
636 | 683 | FILE *archivo; |
|
637 | 684 | float phase1; |
|
638 | 685 | float phase2; |
|
686 | char page0[30]; | |
|
687 | char page1[20]; | |
|
639 | 688 | //system("./map_clock"); |
|
640 | ||
|
689 | /* | |
|
641 | 690 | if (configCLK() == 1) |
|
642 | 691 | printf("clock ADC enable.\n"); |
|
643 | ||
|
644 | ||
|
692 | */ | |
|
693 | /* | |
|
645 | 694 | //configurar tres pines como salida usando als m�scaras mask_sel_canal, mask_sel_atenuacion y mask_sel_calibracion. En este caso corresponden a los pines pc4, pc5 y pc6. |
|
646 | 695 | pio_enable(pioc, mask_sel_canal); |
|
647 | 696 | pio_enable(pioc, mask_sel_atenuacion); |
@@ -649,20 +698,29 | |||
|
649 | 698 | pio_output_enable(pioc, mask_sel_canal); //configurar pc4 como salida |
|
650 | 699 | pio_output_enable(pioc, mask_sel_atenuacion); //configurar pc5 como salida |
|
651 | 700 | pio_output_enable(pioc, mask_sel_calibracion); //configurar pc6 como salida |
|
652 | ||
|
701 | */ | |
|
653 | 702 | |
|
654 | 703 | //Se modifican las salidas correspondientes a la selecci�n del atenuador y calibraci�n, de acuerdo a los par�metros ingresados en la funci�n ABS_monitoreo. |
|
655 | if ( sel_atenuador == 1) | |
|
704 | /*if ( sel_atenuador == 1) | |
|
656 | 705 | pio_out(pioc, mask_sel_atenuacion, sel_atenuador,1); |
|
657 | 706 | else |
|
658 | 707 | pio_out(pioc, mask_sel_atenuacion, sel_atenuador,0); |
|
659 | 708 | if ( sel_calibracion == 1) |
|
660 | 709 | pio_out(pioc, mask_sel_calibracion, sel_calibracion,1); |
|
661 | 710 | else |
|
662 |
|
|
|
663 | ||
|
664 | ||
|
665 | strcpy (fname, "/mnt/sd/archivos/absmonitoreo.txt"); //Direcci�n y nombre del archivo donde se desea guardar los datos. | |
|
711 | pio_out(pioc, mask_sel_calibracion, sel_calibracion,0);*/ | |
|
712 | ||
|
713 | if ( sel_atenuador == 1) | |
|
714 | acumulado_unos = acumulado_unos + (1 << 5); | |
|
715 | else | |
|
716 | acumulado_ceros = acumulado_ceros + (1 << 5); | |
|
717 | if ( sel_calibracion == 1) | |
|
718 | acumulado_unos = acumulado_unos + (1 << 6); | |
|
719 | else | |
|
720 | acumulado_ceros = acumulado_ceros + (1 << 6); | |
|
721 | ||
|
722 | ||
|
723 | strcpy (fname, "/mnt/sd/absmonitoreo.txt"); //Direcci�n y nombre del archivo donde se desea guardar los datos. | |
|
666 | 724 | |
|
667 | 725 | if (fExists(fname)==0){ //si el archivo no existe, crea uno y le asigna el titulo |
|
668 | 726 | archivo = fopen(fname,"a+"); |
@@ -671,82 +729,95 | |||
|
671 | 729 | fclose(archivo); |
|
672 | 730 | } |
|
673 | 731 | |
|
674 | ||
|
732 | /* | |
|
675 | 733 | //configure ADC Settings |
|
676 | 734 | padc=configADC1(); |
|
677 | 735 | padd=configADC2(); |
|
678 | ||
|
679 | while (1){ | |
|
680 | ||
|
681 |
|
|
|
682 |
|
|
|
683 | ||
|
684 | ||
|
685 |
|
|
|
686 | ||
|
687 | ||
|
688 | //Se pone la salida de selecci�n de canal para seleccionar el canal 1 del detector de fase | |
|
689 |
|
|
|
690 |
|
|
|
691 | ||
|
692 | ||
|
693 |
|
|
|
694 |
|
|
|
736 | */ | |
|
737 | //while (1){ | |
|
738 | ||
|
739 | ENABLE_CHANNEL(padc, ADC_CH0+ADC_CH1); | |
|
740 | printf("\nAdquiriendo datos...\n"); //Indica en el terminal que se est�n adquiriendo datos (muestreando la se�al). | |
|
741 | ||
|
742 | ||
|
743 | now = time(0); //Get current Time for File Name | |
|
744 | ||
|
745 | //Se pone la salida de selecci�n de canal para seleccionar el canal 1 del detector de fase | |
|
746 | acumulado_ceros = acumulado_ceros + (1 << 4); | |
|
747 | pio_out(pioc, maskc_out_cntl, acumulado_ceros, 0); | |
|
748 | pio_out(pioc, maskc_out_cntl, acumulado_unos, 1); | |
|
749 | sleep(1); | |
|
750 | ||
|
751 | //Se toman muestras para el canal 1 del detector de fase | |
|
752 | //while(1){ | |
|
695 | 753 | for(i=0; i < NSAMPLES; i++){ |
|
696 | 754 | |
|
697 | 755 | ADC_INIT(padc); |
|
698 | 756 | results1[i] = GET_ADC0(padc); |
|
699 | 757 | results2[i] = GET_ADC1(padd); |
|
700 | 758 | } |
|
701 | ||
|
702 | ||
|
759 | /* | |
|
703 | 760 | if (checkTx(results1, results2, umbral, pulsewidth)==1){ //Se verifica que las muestras tomadas del canal 1 del datector de fase //correspondan a un pulso. |
|
704 | 761 | break; |
|
705 | 762 | } |
|
706 | } | |
|
707 | ||
|
708 | ||
|
709 | //Se pone la salida de selecci�n de canal para seleccionar el canal 2 del detector de fase | |
|
710 | pio_out(pioc, mask_sel_canal, 1,1); | |
|
711 | ||
|
712 | ||
|
713 | ||
|
714 | //Setoman muestras para el canal 2 del detector de fase | |
|
715 | while(1){ | |
|
763 | */ | |
|
764 | //} | |
|
765 | ||
|
766 | ||
|
767 | //Se pone la salida de selecci�n de canal para seleccionar el canal 2 del detector de fase | |
|
768 | acumulado_ceros = acumulado_ceros - (1 << 4); | |
|
769 | acumulado_unos = acumulado_unos + (1 << 4); | |
|
770 | pio_out(pioc, maskc_out_cntl, acumulado_ceros, 0); | |
|
771 | pio_out(pioc, maskc_out_cntl, acumulado_unos, 1); | |
|
772 | sleep(1); | |
|
773 | ||
|
774 | ||
|
775 | //Setoman muestras para el canal 2 del detector de fase | |
|
776 | // while(1){ | |
|
716 | 777 | for(i=0; i < NSAMPLES; i++){ |
|
717 | 778 | |
|
718 | 779 | ADC_INIT(padc); |
|
719 | 780 | results3[i] = GET_ADC0(padc); |
|
720 | 781 | results4[i] = GET_ADC1(padd); |
|
721 | 782 | } |
|
722 | ||
|
783 | /* | |
|
723 | 784 | if (checkTx(results3, results4, umbral, pulsewidth)==1){ //Se verifica que las muestras tomadas del canal 2 del detector de fase //correspondan a un pulso. |
|
724 | 785 | break; |
|
725 | 786 | } |
|
726 | } | |
|
727 | ||
|
728 | ||
|
729 | //Una vez que se ha encontrado un pulso en cada canal, se calcula la fase de ambos. | |
|
730 | ||
|
731 | phase1 = getPhase(results1, results2); //Calcular la fase del canal 1 del detector de fase. | |
|
732 |
|
|
|
733 | //create Output File | |
|
734 | ||
|
735 | strcpy (fname, "/mnt/sd/archivos/absmonitoreo.txt"); | |
|
736 | printf("\nTerminada la prueba # %d \n", j++); | |
|
737 | fp=create_Output(fname, now); //Coloca la fecha y la hora en el archivo de texto | |
|
738 | printf("mediana ch1 = %1.2f\n", phase1); //muestra resultado en terminal | |
|
739 |
|
|
|
740 | writeOutput(phase1, fp); //graba el resultado en el archivo de texto | |
|
741 |
|
|
|
742 | fprintf(fp, "\n"); //Pasa a la siguiente l�nea del archivo de texto | |
|
743 | fclose(fp); | |
|
744 | printf("Resultado guardado en %s \n", fname); | |
|
745 | ||
|
746 | sleep(1); | |
|
747 | ||
|
748 | } | |
|
749 | return 0; | |
|
787 | */ | |
|
788 | // } | |
|
789 | ||
|
790 | ||
|
791 | //Una vez que se ha encontrado un pulso en cada canal, se calcula la fase de ambos. | |
|
792 | ||
|
793 | phase1 = getPhase(results1, results2); //Calcular la fase del canal 1 del detector de fase. | |
|
794 | phase2 = getPhase(results3, results4); //Calcular la fase del canal 2 del detector de fase. | |
|
795 | //create Output File | |
|
796 | ||
|
797 | strcpy (fname, "/mnt/sd/absmonitoreo.txt"); | |
|
798 | printf("\nTerminada la prueba # %d \n", j++); | |
|
799 | fp=create_Output(fname, now); //Coloca la fecha y la hora en el archivo de texto | |
|
800 | printf("mediana ch1 = %1.2f\n", phase1); //muestra resultado en terminal | |
|
801 | printf("mediana ch2 = %1.2f\n", phase2); //muestra resultado en terminal | |
|
802 | writeOutput(phase1, fp); //graba el resultado en el archivo de texto | |
|
803 | writeOutput(phase2, fp); //graba el resultado en el archivo de texto | |
|
804 | fprintf(fp, "\n"); //Pasa a la siguiente l�nea del archivo de texto | |
|
805 | fclose(fp); | |
|
806 | printf("Resultado guardado en %s \n", fname); | |
|
807 | ||
|
808 | sleep(1); | |
|
809 | ||
|
810 | strcpy(page0,parameters.ID); | |
|
811 | strcat(page0,"\n-------\n"); | |
|
812 | ||
|
813 | sprintf(page1,"UP:%1.2f DW:%1.2f\n",phase1, phase2); | |
|
814 | strcat(page0,page1); | |
|
815 | char *all_pages = malloc(strlen(page0)+1); | |
|
816 | strcpy(all_pages, page0); | |
|
817 | return all_pages; | |
|
818 | ||
|
819 | // } | |
|
820 | // return 0; | |
|
750 | 821 | } |
|
751 | 822 | /*============================================================================= |
|
752 | 823 | Function definitions |
@@ -755,6 +826,7 | |||
|
755 | 826 | // Configures ADC registers in order to get a sample every 10us |
|
756 | 827 | AT91S_ADC * configADC1(void){ |
|
757 | 828 | //Variables a usar: |
|
829 | /* | |
|
758 | 830 | unsigned int maskc_adc =PC0; //Usamos ADC0 y ADC1 |
|
759 | 831 |
|
|
760 | 832 |
|
@@ -765,10 +837,10 | |||
|
765 | 837 | pio_disable_multiple_driver(pioc, maskc_adc); |
|
766 | 838 | pio_disable_pull_ups(pioc, maskc_adc); |
|
767 | 839 | pio_input_enable(pioc, maskc_adc); |
|
768 | ||
|
840 | */ | |
|
769 | 841 | |
|
770 | 842 | //Configuro el ADC: |
|
771 | AT91S_ADC *padc; | |
|
843 | //AT91S_ADC *padc; | |
|
772 | 844 | |
|
773 | 845 | padc = adc_map1(ADC_BASE); |
|
774 | 846 | |
@@ -783,26 +855,25 | |||
|
783 | 855 | //ADC_RESET(padc); |
|
784 | 856 | CONFIG_ADC(padc,ADC_TRGEN_DIS | ADC_RES_10BIT | ADC_SLEEP_NORMAL_MODE | ADC_PRESCAL | ADC_STARTUP | ADC_SHTIM); |
|
785 | 857 | ENABLE_CHANNEL(padc,ADC_CH0); //habilito canal 0 |
|
786 | ||
|
787 | ||
|
788 | 858 | return padc; |
|
789 | 859 | } |
|
790 | 860 | |
|
791 | 861 | AT91S_ADC * configADC2(void){ |
|
792 | 862 | //Variables a usar: |
|
863 | /* | |
|
793 | 864 | unsigned int maskc_adc =PC1; //Usamos ADC0 y ADC1 |
|
794 | 865 |
|
|
795 | 866 |
|
|
796 | 867 | AT91S_PIO *piod; |
|
797 | 868 | piod = pio_map(PIOC_BASE); |
|
798 |
pin_adc_enable(piod,maskc_adc); //Habilitamos PC |
|
|
869 | pin_adc_enable(piod,maskc_adc); //Habilitamos PC1 para usar con ADC0 y 1 | |
|
799 | 870 | pio_disable_irq(piod, maskc_adc); |
|
800 | 871 | pio_disable_multiple_driver(piod, maskc_adc); |
|
801 | 872 | pio_disable_pull_ups(piod, maskc_adc); |
|
802 | 873 | pio_input_enable(piod, maskc_adc); |
|
803 | ||
|
874 | */ | |
|
804 | 875 | //Configuro el ADC: |
|
805 | AT91S_ADC *padd; | |
|
876 | //AT91S_ADC *padd; | |
|
806 | 877 | |
|
807 | 878 | padd = adc_map1(ADC_BASE); |
|
808 | 879 | |
@@ -837,7 +908,7 | |||
|
837 | 908 | |
|
838 | 909 | //Creates the file name out of the #define parameters |
|
839 | 910 | |
|
840 |
strcpy (fname, "/mnt/sd/a |
|
|
911 | strcpy (fname, "/mnt/sd/absmonitoreo.txt"); | |
|
841 | 912 | file = fopen(fname,"a+"); |
|
842 | 913 | fprintf(file,"%s", timestamp); |
|
843 | 914 | //printf("\nTerminada la prueba # %d. Guardando resultado en %s\n",r, fname); |
General Comments 0
You need to be logged in to leave comments.
Login now