uControl
Mayo 22, 2013, 11:57:03 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 [2] 3   Ir Abajo
  Imprimir  
Autor Tema: ADC dspic30f4013 en CCS  (Leído 4065 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Suky
**----- ^^ ------**
Moderador
dsPIC
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 5345


Con Qt...


WWW
« Respuesta #15 : Junio 21, 2012, 11:17:33 »

Proba con otra versión de CCS  Grin
 Y si colocas:

printf(lcd_putc,"men 0x%X %f",menores,voltaje);

o

printf(lcd_putc,"men %u %f",(int8)menores,voltaje);

 Tongue
En línea

E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2132


Electric Blue


« Respuesta #16 : Junio 22, 2012, 12:49:20 »

Me tome el trabajo de crear un proyecto con el código que posteaste y creo que encontré por lo menos una parte del problema, al parecer los int8 e int16 están siendo tomados como integers con signo; 0xFF en una variable con signo es igual a -1, encima estas imprimiendo como si fuesen unsigned.
¿Que sale de todo esto? No se, pero seguro que no lo que esperas que salga. Tongue Grin

Código:
lcd_gotoxy(0,1);
   printf(lcd_putc,"mayor= %u %Lu",mayores,Lect_adc);
  
   lcd_gotoxy(0,2);
   printf(lcd_putc,"men %u %f",menores,voltaje);

Te pregunto, ¿Como estas debuggeando? ¿Usas la ventana Watch para ver las variables? duda
En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #17 : Junio 26, 2012, 12:54:44 »

suky he probado los distintos formatos para el printf y nada.
E_Blue no estoy debuggeando La verdad soy novato en el manejo de pic pero bueno lo intentare.

por el momento he ido a proteus para realizar simulación. y  parece que funciona de 2 maneras
Posteo el código para simulación pic18f4550 los dsPIC serie 30f no estan incluidos en proteus

//configuración de fuses

#include <18F4550.h>
#device adc=10

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES WDT128                   //Watch Dog Timer uses 1:128 Postscale
#FUSES XTPLL                    //Crystal/Resonator with PLL enabled
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOBROWNOUT               //No brownout reset
#FUSES BORV28                   //Brownout reset at 2.8V
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOCPD                    //No EE protection
#FUSES STVREN                   //Stack full/underflow will cause reset
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOWRTD                   //Data EEPROM not write protected
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES FCMEN                    //Fail-safe clock monitor enabled
#FUSES NOPBADEN                 //PORTB pins are configured as digital I/O on RESET
#FUSES NOWRTC                   //configuration not registers write protected
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOEBTR                   //Memory not protected from table reads
#FUSES NOEBTRB                  //Boot block not protected from table reads
#FUSES NOCPB                    //No Boot Block code protection
#FUSES MCLR                     //Master Clear pin enabled
#FUSES LPT1OSC                  //Timer1 configured for low-power operation
#FUSES NOXINST                  //Extended set extension and Indexed Addressing mode
#FUSES PLL1                     //No PLL PreScaler
#FUSES CPUDIV1                  //No System Clock Postscaler
#FUSES USBDIV                   //USB clock source comes from PLL divide by 2
#FUSES VREGEN                   //USB voltage regulator enabled
#FUSES ICPRT                    //ICPRT enabled
#use delay(clock=48000000)

#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7,bits=8,parity=N)

     #define LCD_ENABLE_PIN  PIN_B4                                   
     #define LCD_RS_PIN      PIN_B2                                   
     #define LCD_RW_PIN      PIN_B3                                   
     #define LCD_DATA4       PIN_D4                                   
     #define LCD_DATA5       PIN_D5                                   
     #define LCD_DATA6       PIN_D6                                   
     #define LCD_DATA7       PIN_D7
     #include <lcd.c>
     #include <stdlib.h>

int16 dato;
int8 mayores=0;
int8 menores=0;

void EnviarSerial()
 {
 
  // mayores=dato>>8;
  // menores=dato; 
    mayores=make8(dato,0);
    menores=make8(dato,1);
    putchar('*');
    putc(mayores);
    putc(menores);
 }

void main()
{
 dato=4095;
 
 lcd_init();
 
 
 while(true)
 {
 
   EnviarSerial();
 
   lcd_gotoxy(0,1);
   printf(lcd_putc,"\f menores1=%u",menores);
   
   lcd_gotoxy(0,2);
   printf(lcd_putc," mayores1=%u",mayores);
   delay_ms(200);
 
 }
 
}

Bueno sencillo como para buscar errores  Grin.

La función que nos interesa.

     mayores=dato>>8;
     menores=dato; 
     mayores=make8(dato,0);
     menores=make8(dato,1);

He probado y efectivamente como lo comente la primera vez Funciona.
     dato=4095
     mayores=dato>>8; mayores =15      printf(lcd_putc," mayores1=%u",mayores);   
     menores=dato;       menores =225    printf(lcd_putc,"\f menores1=%u",menores);

ahora realice la siguiente prueba
     dato=4095
     mayores=make8(dato,0);  mayores=15   printf(lcd_putc," mayores1=%u",mayores);   
     menores=make8(dato,1);  menores=225 printf(lcd_putc,"\f menores1=%u",menores);

Como lo pueden ver de las 2 formas obtengo el mismo resultado la simulación la he realizado en proteus 7.9 SP1.

Ahora Señores no he realizado la prueba en protoboard la realizare mañana y posteare los resultados obtenidos, pero sigo con mi duda por que en el dsPIC obtengo otros resultados sera por el compilador del CCS ?  Idiota Idiota

 

En línea

Luis Angel Hernández Barreto
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #18 : Junio 26, 2012, 12:59:09 »

Amigo E_Blue podría hacerme el favor de aclararme un poco lo de:

 ¿Como estas debuggeando? ¿Usas la ventana Watch para ver las variables?

Como hago esto?
En línea

Luis Angel Hernández Barreto
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2132


Electric Blue


« Respuesta #19 : Junio 26, 2012, 11:50:08 »

¿Que herramientas tienes, MPLAB IDE, ICD2, ICD3, PicKit2, PicKit3, REAL ICE?

Depende que herramientas tengas es como debes proceder para hacer debug
En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #20 : Junio 26, 2012, 04:39:23 »

 Bueno cuento con las siguientes herramientas PicKit2 Clonet la compre a un amigo  Grin

 La Poderosa PicKit3  duda, Pero no la uso Me daño 2 dsPIC30f4013  Evil Evil al intentar grabarlos ahora no  los reconoce  azn.

Por lo tanto estoy con el Pickit2 clonet y compilador CCS 4.093
En línea

Luis Angel Hernández Barreto
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #21 : Junio 26, 2012, 06:19:24 »


Tengo una nuevo duda proteus versión 6.9 SP1 lo tengo instalado en windows 7 versión de 64 bits estoy realizando la simulación y se cuelga mucho el programa. Se congela la imagen
En línea

Luis Angel Hernández Barreto
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2132


Electric Blue


« Respuesta #22 : Junio 26, 2012, 11:51:14 »

Bueno cuento con las siguientes herramientas PicKit2 Clonet la compre a un amigo  Grin

 La Poderosa PicKit3  duda, Pero no la uso Me daño 2 dsPIC30f4013  Evil Evil al intentar grabarlos ahora no  los reconoce  azn.

Por lo tanto estoy con el Pickit2 clonet y compilador CCS 4.093

¿Tenes creado l proyecto en MPLAB IDE o lo hiciste en el IDE de CCS?

Yo el IDE de CCS no lo uso, uso MPLAB IDE; una vez que tenes el proyecto abierto en MPLAB IDE es fácil, vas a Debbugger--> Select Tool ---> Pickit2.

Para abrir la ventana Watch vas a View-->Watch; ahí agregas las variables y/o registros que quieres ver, por supuesto para ver esos registros tienes que hacer una pausa o agregar un breakpoint en alguna parte del programa.
En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #23 : Junio 26, 2012, 11:54:57 »

En el IDE de CCS
Que versión de Mplab utiliza la ultima la X o las versiones 8xxx?
En línea

Luis Angel Hernández Barreto
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2132


Electric Blue


« Respuesta #24 : Junio 27, 2012, 01:15:06 »

Todavía no me hice amigo de MPLAB X, por ahora sigo con MPLAB 8.85.

Tené en cuenta que los periféricos, según como configures el debbugger, se detienen o quedan desatendidos mientras el micro esta "halteado"(pausado) en un breakpoint, te comento esto porque por ejemplo si pausas mientras estas recibiendo datos por un puerto serie se corromperían los datos y/o se rebalsaría el buffer del micro.
« Última modificación: Junio 27, 2012, 01:18:55 por E_Blue » En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #25 : Junio 30, 2012, 11:44:50 »

Todavía no me hice amigo de MPLAB X, por ahora sigo con MPLAB 8.85.

Tené en cuenta que los periféricos, según como configures el debbugger, se detienen o quedan desatendidos mientras el micro esta "halteado"(pausado) en un breakpoint, te comento esto porque por ejemplo si pausas mientras estas recibiendo datos por un puerto serie se corromperían los datos y/o se rebalsaría el buffer del micro.

He logrado integrar el compilador ccs y el Mplab 8.86 ya estoy listo para realizar la depuración pero me asalta una duda.
¿ como debe estar conectado el microcontrolador ? solo a la pickit3 es decir PGD,PGC,MLCR,5 voltios y tierra?
o debo conectarle el oscilador externo de cuarzo que estoy utilizando los condensadores para evitar el ruido para el adc ? en fin estoy confundido  Insultos
En línea

Luis Angel Hernández Barreto
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #26 : Junio 30, 2012, 11:47:44 »

El pickit2 Clone no me lo reconoce el Mplab ni modo ?
o existe algún truco para realizar la conexión del mismo. Evil
En línea

Luis Angel Hernández Barreto
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2132


Electric Blue


« Respuesta #27 : Junio 30, 2012, 06:33:02 »

El PIC debe estar conectado como si fuese el circuito final, con su propio oscilador y fuente, luego el debugger que uses va a ir conectado a PGD,PGC,MLCR,5 voltios y tierra.

Respecto al Pickit 2 clone no se si se puede usar con el MPLAB, creo que si; yo uso ICD2 o ICD3.
En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
ing_barreto
PIC10F
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 48


Novel en el manejo de Microcontroladores


« Respuesta #28 : Junio 30, 2012, 08:15:46 »

El PIC debe estar conectado como si fuese el circuito final, con su propio oscilador y fuente, luego el debugger que uses va a ir conectado a PGD,PGC,MLCR,5 voltios y tierra.

Respecto al Pickit 2 clone no se si se puede usar con el MPLAB, creo que si; yo uso ICD2 o ICD3.

Amigo E_Blue. cuando me dice que para realizar la depuración el dsPIC30f4013 debe estar conectado como lo tengo en la placa, entiendo que utilice los 5 voltios que me ofrece el pickit3 para alimentar todo el circuito? 0 ¿ Unir los 5 voltios de la fuente que alimenta el circuito con los 5 voltios que me proporciona el pickit3? o ¿usar la fuente externa para alimentar el circuito y realizar la depuración del mismo es decir no conectar los 5 voltios y tierra del pickit3?

Que pena tantas preguntas pero soy muy novato en el manejo de los microcontroladores y la verdad no tengo ni idea de manejo de corrientes en circuitos y no quiero realizar un corto circuito por unir los dos voltajes  Grin
En línea

Luis Angel Hernández Barreto
E_Blue
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 2132


Electric Blue


« Respuesta #29 : Junio 30, 2012, 09:37:40 »

Debería revisar la configuración del Pickit 3 en MPLAB, no se como será en este caso, le comento, en el caso del ICD2 o ICD3 tiene la opción de indicarle que entregue 5V por la conexión de 5V o que solo la use para sensar que el PIC esta correctamente alimentado, es decir la conexión de 5V, por defecto, no entrega tensión, solo sensa que el PIC este alimentado, de lo contrario le va a dar error en cuanto quiera programar.

Por otro lado, según se, el PIC que usted esta usando se alimenta con 3.6V como máximo, si es así se debe conectar a los 3.6V y setear que el PIC esta alimentado con esa tensión en el MPLAB.

En el caso del ICD2 solo se podía debuggear PIC de 5V y de menos tensión con un adaptador y el ICD3 ya es compatible con PICs de baja tensión y permite seleccionar la tensión de trabajo en su configuración.

Entonces debería averiguar si PicKit3 es compatible con PICs de baja tensión, de lo contrario de lo contrario es muy probable que queme el PIC o incluso el PicKit.


Acabo de revisar y aparentemente si se puede configurar la tensión normal de trabajo en la pestaña de configuración del PicKit3, una vez seleccionado el debugger PicKit3, solo debe ir a Debugger --> Settings y en la pestaña Power seleccionar el voltaje, recuerde que lo que usted llama 5V en realidad es VDD y debe ir a la tensión de alimentación del PIC.

En esa misma pestaña se le puede indicar al PicKit3 que debe entregar tensión por la conexión VDD, si usted esta alimentando el PIC con su propia fuente deje desactivada esa opción para que no haya "colisión de voltajes".
« Última modificación: Junio 30, 2012, 09:44:10 por E_Blue » En línea

Procesando...
Si escribes para la (censurado) solo ella va a leerte.

Si quieres ayuda con tu proyecto recuerda agregar información del mismo, y no seas haragán y esperes tener todo servido, esto es un foro, no una bolsa de trabajo.
Páginas: 1 [2] 3   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.18 | SMF © 2011, Simple Machines
SMFAds for Free Forums
XHTML 1.0 válido! CSS válido!
Página creada en 0.664 segundos con 29 consultas. (Pretty URLs adds 0.029s, 3q)
loggkey