Autor Tema: para que descifrar la libreria "tones.c" del ccs? aca una mejor y en ASM  (Leído 23456 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
No es un error del código, sino de cómo trata el foro los caracteres especiales. Los corchetes con una "i" en su interior lo interpreta como "cursiva" y no los imprime.

Para evitarlo hay que encerrar el código entre los atributos [c o d e] y [/c o d e].

Ya os lo he modificado yo.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: descifrando la libreria "tones.c" del ccs es decir, lo quiero pasar a assemb
« Respuesta #16 en: 23 de Enero de 2007, 10:23:24 »
ups gracias nocturno!!!,

jhonny, bajate ese archivo ahi ta el mismo programa pero q funcionana, al menos en mi maquina y compila y hasta simula ok,. exitos!!!  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: descifrando la libreria "tones.c" del ccs es decir, lo quiero pasar a assemb
« Respuesta #17 en: 24 de Enero de 2007, 13:37:36 »
amigos, jejej, cambie de estrategia estoy generando el ASM desde el mismo MPLAB enchufandole el compilador del CCS, porq el archivo mixed q me salia desde el CCS estaba medio confuso, pues bueno ya lo tengo en mis manos y estoy ya pasandolo a limpio.
otra cosa, lo estuve simulando en el proteus y observe q poniendole el frequencimetro me salia 420hz para un frecuencia seleccionada desde el soft de 440, es decir un aparente error de 20hz, lo cual es bastante! porq la nota LA en 440 y LA bemol es 415Hz, demasiado cerca, y todo esto a 4Mhz, luego le puse para 20Mhz y ya se situo en 440.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: descifrando la libreria "tones.c" del ccs es decir, lo quiero pasar a assemb
« Respuesta #18 en: 24 de Enero de 2007, 16:20:41 »
ya lo pase a ASM y lo corri en el MPLAB y hace exactamente lo mismo q el compilado en C, ahora toy en la chamba de ponerle nombres y etiquetas a todos los registros y demas instrucciones., esq todos esta en hexadecimal jiji, ya estamos cerca de terminar. :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado johnnybravo

  • PIC12
  • **
  • Mensajes: 76
que bueno henry :-/ .. muchas felicidades
voy a seguir tus pasos haber que me .. pero primero.. voy a probar el archivito que em pasaste... ojala y me funcione .. ya te comento despues.. suerte
Atte.
Johnny Bravo

Desconectado johnnybravo

  • PIC12
  • **
  • Mensajes: 76
ya hice que me funcione  :-/
al parecer .. el problema era que asi como estaba en el ejemplo mi pc no lo agaraba ... siempre me arrojaba error la pc.. pero omitiendo algunas lineas en el codigo ... ya funciona......

las modificaciones que hice fueron estas: :lol:

//#if defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

//#elif defined(__PCH__)
//#include <18F452.h>
//#fuses HS,NOWDT,NOPROTECT,NOLVP
//#use delay(clock=20000000)
//#endif

con ello definimos que unicamente usaremos el 16F877 y nada mas...je je je je ..

que tonto fui....  :mrgreen: ...si ya el mensaje de error me lo decia .. solo que no le preste atencion
" A #DEVICE required before this line " esto en español significa que:
El copilador requiere un #device antes de que encuentre cualquier declaración o directorio del copilador que puedan hacerlo generar código. En general los #defines pueden aparecer antes de un #device pero no mucho más.

bueno ese era el error que solia darme.. la verdad que no se porque :shock:... pues el codigo esta muy bien echo

bueno lo mas curioso fue que una ves copilado de esa forma, regrese el codigo a su original

#if defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#endif

y ya no me vota el error y copila correctamente.... ja ja ja ja.. creo que mi PC acaba de aprender algo..je je je je je
 :D que curioso
ahora si voy siguendo tus pasos amigo micro_cadaver...... :-/



Atte.
Johnny Bravo

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: descifrando la libreria "tones.c" del ccs es decir, lo quiero pasar a assemb
« Respuesta #21 en: 25 de Enero de 2007, 16:41:30 »
jaja q curioso, son cosas del orinoco q yo no se ni tu tampoco......

a mi tambien me pasan cosas raras con los softs sobre todo cuando creo q todo esta bien.... sobre todo con los programadores... sera q he quemado tantos pics q ya me han maldecido!!!

bueno te queria pedir si pudieras montar el programa en C es decir quermalo en un pic y probarlo por ejemplo medir si sale la frecuencia q dice, cual es el error de precision q tiene el codgio, segun parece con 4MHz debe de fallar un poco la precision.

exitosd!! :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado johnnybravo

  • PIC12
  • **
  • Mensajes: 76
buena idea amigo... bueno tratare de hacerlo .. aunque .. no tengo gran cosa pa medir frecuencia pero tratare de conseguir un buen instrumento.......
a una cosa mas amigo.. como le hiciste para compilar el codigo ex_tones.c en el mplab..en otras palabras como lo conectaste al CCS..yo he estado intentando..pero me sale un error a la hora de compilar ... da un error que dice: " el pcm no esta instalado en el pc" ..... o algo asi..
tienes algun manual de como integrar los dos programas de forma correcta.....
aahh algo mas .. que version del MPLAB estas usando.. tal ves por ahi deba empesar...yo uso la version 7.5 del MPLAB

tratare de hacer las pruebas esta tarde..... ojala pueda... :-/
Atte.
Johnny Bravo

Desconectado MGLSOFT

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: descifrando la libreria "tones.c" del ccs es decir, lo quiero pasar a assemb
« Respuesta #23 en: 29 de Enero de 2007, 17:01:14 »
ya hice que me funcione  :-/
al parecer .. el problema era que asi como estaba en el ejemplo mi pc no lo agaraba ... siempre me arrojaba error la pc.. pero omitiendo algunas lineas en el codigo ... ya funciona......

las modificaciones que hice fueron estas: :lol:

//#if defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

//#elif defined(__PCH__)
//#include <18F452.h>
//#fuses HS,NOWDT,NOPROTECT,NOLVP
//#use delay(clock=20000000)
//#endif

con ello definimos que unicamente usaremos el 16F877 y nada mas...je je je je ..

que tonto fui....  :mrgreen: ...si ya el mensaje de error me lo decia .. solo que no le preste atencion
" A #DEVICE required before this line " esto en español significa que:
El copilador requiere un #device antes de que encuentre cualquier declaración o directorio del copilador que puedan hacerlo generar código. En general los #defines pueden aparecer antes de un #device pero no mucho más.

bueno ese era el error que solia darme.. la verdad que no se porque :shock:... pues el codigo esta muy bien echo

bueno lo mas curioso fue que una ves copilado de esa forma, regrese el codigo a su original

#if defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)

#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)
#endif

y ya no me vota el error y copila correctamente.... ja ja ja ja.. creo que mi PC acaba de aprender algo..je je je je je
 :D que curioso
ahora si voy siguendo tus pasos amigo micro_cadaver...... :-/





El problema que te daba es que debes seleccionar el compilador a usar en algunas versiones de CCS.
Si es la linea baja se usa PCB, si es la linea media se usa PCM y si es la linea alta se utiliza PCH.
Al no seleccionarlo previamente el compilador daba el error porque la libreria antes de seleccionar el PIC busca cual de los compiladores esta elegido, al encontrar uno diferente al cual pertenece el PIC empiezan los errores.

Cuando comentaste las lineas hiciste que el compilador se autoseleccionara segun la linea de PICs a la cual pertenece, dejendo de dar errores...

Cuando volviste al original de la libreria el tipo de compilador ya estaba correctamente seleccionado, por lo tanto ya no te dio errores tampoco...

Aclaremos algo, el entorno del CCS no es muy complejo de utilizar, pero hay que aprender mucho de la compilacion condicional para sacarle buen provecho.
Aconsejo utilizen RTFM antes de seguir trabajando en el...

Saludos!! :D :D :D
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: triste desenlace ..... descifrando la libreria "tones.c" del ccs
« Respuesta #24 en: 30 de Enero de 2007, 16:54:46 »
bueno amigos termine, uff... q chamba, esoty implementandolo con un osicaldor de 4mhz y funciona muy bien para frecuencias bajas aunque requiere de una calibracion, sinembargo par alas frecuencias altas la rutina no funciona debido a la baja frecuencia del oscilador interno 4Mhz, podria echarle un xtal externo de 20MHz q es lo que pide, pero en mi aplicacion requiero de todos lo pines posibles, ni el 18f4520 tiene mas de 8Mhz de oscilador interno ,si q....... no pienso rendirme!!!, hare mi propio codigo para los tonos en un xtal de 4mhz , buenbo aprendi bastante  :mrgreen: ejeje, y ya se por donde comenzar, asi q os pido paciencia, chauuu  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
Re: triste desenlace ..... descifrando la libreria "tones.c" del ccs
« Respuesta #25 en: 30 de Enero de 2007, 17:03:03 »
 :mrgreen:

Hola henry pues si te te faltan puertos ... un Pic16f877a no estaria mal  y tu codigo no variaria mucho....:)
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: triste desenlace ..... descifrando la libreria "tones.c" del ccs
« Respuesta #26 en: 30 de Enero de 2007, 17:49:26 »
ñooooooooooooooooooooooooooooo

jejejeej tiene q salir en 4 Mhz  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: ..... descifrando la libreria "tones.c" del ccs
« Respuesta #27 en: 30 de Enero de 2007, 18:13:22 »
Lo que no me quedó claro es el título del post jejeje "Triste desenlace"
es que esto aún no termina...
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: triste desenlace ..... descifrando la libreria "tones.c" del ccs
« Respuesta #28 en: 30 de Enero de 2007, 20:27:48 »
por supuesto que no,..... tened paciencia...  :-)
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
para que descifrar la libreria "tones.c" del ccs? aca una mejor y en ASM
« Respuesta #29 en: 30 de Enero de 2007, 22:15:20 »
bueno, ya termine una rutina simple pero util tiene, funciona con un xtal de 4MHz, todas las frecuencias calibradas,nada mas q 253 lineas de memoria de programa, es simplemente un banco de sub-rutinas de los notas musicales distribuidos de la siguiente manera:

C ={ 262,     523,    1047,    2093};
Db={ 277,     554,    1109,    2217};
D ={ 294,     587,    1175,    2349};
Eb ={ 311,     622,    1245,    2489};
E ={ 330,     659,    1329,    2637};
F ={ 349,     698,    1397,    2794};
Gb ={ 370,     740,    1480,    2960};
G ={ 392,     784,    1568,    3136};
Ab ={ 415,     831,    1661,    3322};
A ={ 440,     880,    1760,    3520};
Bb ={ 466,     923,    1865,    3729};
B={ 494,     988,    1976,    3951};

ahi se pùede observar 4 octavas por cada nota musical, el archivo lo subo y se le puede usar de un monton de maneras al estar en ASM, ojo q esta calibrado para 4Mhz, mas adelante subire un ejemplo de aplicación de este codigo, asi q.... disfrutenlo y si saquenle provecho!!!!  :-/
« Última modificación: 30 de Enero de 2007, 22:17:44 por micro_cadaver »
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com