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