Autor Tema: Libreria midi.h para ccs  (Leído 3350 veces)

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

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Libreria midi.h para ccs
« en: 24 de Noviembre de 2012, 01:26:04 »
Hola como va? era hora de hacer algun aporte al foro...no se cuantos tecladistas habra por aqui, pero les dejo una libreria para manejar instrumentos midi.
Por ahora solo manda los mensajes mas comunes: note on, note off, velocity, aftertouch, etc...
Puede sonar trivial para el que sepa mas, pero a mi me costo bastante configurar el UART y que se lleve bien con un sinte kawai. Peor aun, tuve diferentes resultados con una bateria electronica korg y este sinte...despues de luchar algunas noches hice andar todo liso.
Pic, midi, 16F876A y CCS...busque semanas enteras y no hay nada en la web. No se si se puede trasladar a otros pic mas modernos, pero no creo que haga falta mucho mas que esto para manejar algo tan sencillo.
El codigo es una pavada, el "reto" fue configurar el UART.
Si alguien necesita circuitos y programa de ejemplo, avisen.
Si encuentran redundancias o algun error, espero sus comentarios con mucho gusto!

Un saludo...

pd: el codigo lo hice en base a estos links (imprescindibles para quien se mande a hacer algo con midi)
http://www.opl4.nl/aboutmidi.html
http://www.barrysoft.it/blog/midi-with-pic-ausart.html

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Libreria midi.h para ccs
« Respuesta #1 en: 24 de Noviembre de 2012, 02:00:47 »
Hola Nicola, creo que se te ha olvidado adjuntar la librería, sólo has subido el .H

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Re: Libreria midi.h para ccs
« Respuesta #2 en: 24 de Noviembre de 2012, 02:26:54 »
Perdon por la ignorancia, pero siempre le dije libreria a los ".h"...estoy viendo que propiamente se les dice "archivos de cabecera".
Cual es la diferencia entre ambas?
 :(

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Libreria midi.h para ccs
« Respuesta #3 en: 24 de Noviembre de 2012, 02:46:02 »
Básicamente en el .H defines los prototipos de las funciones, pones los #define, las estructuras, uniones, etc. y en el .C las funciones propiamente dichas.
Pero no es imprescindible hacerlo así, sólo es cuestión de estilo.
Aunque en tu librería no veo que la función de configuración haga referencia a la frecuencia del micro, imagino que eso estará en el programa principal. Si quieres que la librería sea compatible con otros micros estaría bien incluirle ese tipo de cosas.

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Re: Libreria midi.h para ccs
« Respuesta #4 en: 24 de Noviembre de 2012, 11:23:22 »
Entiendo, muchas gracias por la aclaracion...cuando tenga un tiempo ordeno todo y lo subo mas prolijo.
un saludo!

Desconectado nicola

  • PIC10
  • *
  • Mensajes: 19
Re: Libreria midi.h para ccs
« Respuesta #5 en: 27 de Noviembre de 2012, 21:43:42 »
Bueno ahora esta un poco mejor creo...agregue en el zip un programita que recibe mensajes y los muestra en un lcd.

Un saludo!

Desconectado jjpl2001

  • PIC10
  • *
  • Mensajes: 1
Re: Libreria midi.h para ccs
« Respuesta #6 en: 31 de Octubre de 2014, 20:43:48 »
Bueno ahora esta un poco mejor creo...agregue en el zip un programita que recibe mensajes y los muestra en un lcd.

Un saludo!

Que tal, saludos y gracias por los archivos. La parte que aun no comprendo es ¿Como fijas el baudrate a la velocidad del MIDI? es decir, el baudrate por defecto del puerto serial es 34800 bps y el midi es 31250 bps. como le dices al compilador que debe ser 31250 bps? Gracias

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Libreria midi.h para ccs
« Respuesta #7 en: 31 de Octubre de 2014, 21:00:49 »
Que tal, saludos y gracias por los archivos. La parte que aun no comprendo es ¿Como fijas el baudrate a la velocidad del MIDI? es decir, el baudrate por defecto del puerto serial es 34800 bps y el midi es 31250 bps. como le dices al compilador que debe ser 31250 bps? Gracias

Por defecto ? El USART en el PIC16F87x que uso quien creo el post tiene un registro que se llama SPBRG, ahi pones un valor X

Baja velocidad
(Asynchronous) Baud Rate = FOSC/(64(X+1))
(Synchronous) Baud Rate = FOSC/(4(X+1))

Alta velocidad
(Asynchronous) Baud Rate = FOSC/(16(X+1))

Es decir elegis un valor para obtener esos baudios


 

anything