Autor Tema: Archivos del taller de programación de microcontroladores  (Leído 237 veces)

Desconectado FJ_Sanchez

  • Azote de Vozmeider
  • ********
  • Mensajes: 984
  • Hack your mind
    • Ver Perfil
    • Mipixel.com el blog de F.J. Sánchez
Archivos del taller de programación de microcontroladores
« en: 21 de May de 2010, 20:55:09 »
Muy buenas,

hemos subido los archivos en la web, los podéis encontrar en http://www.esibot.net/2010/05/21-archivos-del-taller-de-programacion

Cualquier duda que os surja podéis hacerla en este foro.

Un saludo.
El espectro radioeléctrico es el suelo urbanizable de la sociedad de la información. Su infraestructura invisible supone la mayor obra de ingeniería de la historia de la humanidad.

Reclaim the spectrum.

Desconectado javier

  • Pelacables
  • *
  • Mensajes: 11
    • Ver Perfil
Re:Archivos del taller de programación de microcontroladores
« Respuesta #1 en: 24 de May de 2010, 16:32:12 »
Hola, niños

Como parece que a alguno le está dando problemas la conexión por USB-Serial he puesto una aclaración al respecto para evitar este problema y alguno similar en el enlace que fran ha colocado arriba.

Si alguno tiene problemas con cualquier aspecto de la programación o del uso del IDE o de la placa, que no dude en preguntármelo, ¿ok?. Lo que no tengo muy claro desde dónde responder a vuestras dudas, si aquí o en el foro de esibot; que nuestro amado líder fran nos resuelva este dilema.  O0


javi.
Before, When people had secrets they didn’t want to share
They’d climb a mountain,
Find a tree and carve a hole in it,
And whisper the secret in the hole.

Then cover it over with mud.
That way, nobody else would ever discover it.

Desconectado FJ_Sanchez

  • Azote de Vozmeider
  • ********
  • Mensajes: 984
  • Hack your mind
    • Ver Perfil
    • Mipixel.com el blog de F.J. Sánchez
Re:Archivos del taller de programación de microcontroladores
« Respuesta #2 en: 25 de May de 2010, 10:32:10 »
Jajajaja, ¿amado lider? Muy buena esa  ;)

En principio en la web de ESIBot lo que tenemos son comentarios a las cosas que se publican, este es realmente el foro de ESIBot.

Un saludo!
El espectro radioeléctrico es el suelo urbanizable de la sociedad de la información. Su infraestructura invisible supone la mayor obra de ingeniería de la historia de la humanidad.

Reclaim the spectrum.

Desconectado javier

  • Pelacables
  • *
  • Mensajes: 11
    • Ver Perfil
Re:Archivos del taller de programación de microcontroladores
« Respuesta #3 en: 25 de May de 2010, 14:00:14 »
OK, pues entonces para tenerlo todo más ordenadito vuelvo a escribir la solución (espero, jejeje), al problema del bloqueo USB que alguno parece tener.


Y ya sabeis, alumnos míos, cualquier duda que tengais la preguntáis por aquí o por email, ¿ok?

Eso sí, no trasteéis demasiado que teneis exámenes!!!
------------------------------------------------------------------------------------------
hola, qué tal!

Me ha comentado recientemente uno mis "alumnos" (jejeje) que ha tenido problemas para comunicarse por USB con la placa.

La razón es que los archivos de ejemplo que puse utilizan a propósito el menor número de rutinas posibles para establecer la comunicacion USB-SERIAL, de modo que por lo que veo algunos de vosotros puede tener problemas cuando os conectais, sobre todo si no cerrais después de cada uso esta comunicación (boton disconnect del terminal de jaledit).

Como ya os dije en la clase y en el tutorial, lo ideal si quereis empezar cualquier proyecto es mirar los ejemplos que vienen con el archivo jallib-pack-2.4m-0.5.0.zip, que están en la carpeta samples y hechos por personas mayores; los ejemplos que nos interesan tienen de nombre 18f4550***.jal, pudiendo ver ejemplos de USB-Serial, ADC, PWM... para nuestro micro (eso si, acordaos de incluir la directiva que añade el bootloader o no os funcionará en nuestra placa!)


En cualquier caso para hacerlo más sencillito os comento una cosa que podeis hacer para evitar problemas a la hora de conectarse por el protocolo USB-serie:


Justo después de haber inicializado la comunicacion con usb_serial_init() debemos incluir la siguiente condicion;

while(usb_cdc_line_status()==0) loop
end loop


que viene a decir "mientras no esté configurado el USB, sigo esperando"


O sea, en cada ejemplo que tengamos de usb, justo debajo de:

usb_serial_init()

ponemos

while(usb_cdc_line_status()==0) loop
end loop


y ya os resolvería estos problemas a quien los tuviera.

Esto es ya más friki, pero me parece (no tengo forma de comprobarlo) que lo que se consigue obligando a que espere es evitar que las rutinas de configuracion del protocolo (fundamentalmente asignacion de direcciones y proceso de handshake) se vean interrumpidas por peticiones de lectura, que es lo que causa el bloqueo del protocolo CDC. También conseguimos evitar que nuestro buffer RAM USB del pic18f4550 esté lleno al inicio, evitando ver las palabrotas esas en forma de caracteres raros que salen a veces cuando lo conectais, y bueno, queda más limpito!

AGUR!!
Before, When people had secrets they didn’t want to share
They’d climb a mountain,
Find a tree and carve a hole in it,
And whisper the secret in the hole.

Then cover it over with mud.
That way, nobody else would ever discover it.

Desconectado quemepongo

  • Grimpador
  • **
  • Mensajes: 21
    • Ver Perfil
Re:Archivos del taller de programación de microcontroladores
« Respuesta #4 en: 01 de Jun de 2010, 21:15:50 »
Hola!
Tengo un problema con jaledit, al compilar cualquier archivo, incluso los de las clases, me dan 3 errores, todos se refieren a la siguiente línea:

pragma bootloader loader18 4096

Estos son los errores:

[Error] (clase1_0.jal) [Line 28]  "loader18" not defined
[Error] (clase1_0.jal) [Line 28]  '=' expected (got '4096')
[Error] (clase1_0.jal) [Line 28]  unexpected token: 4096

Xq pueden ser?? y como podria arreglarlo??

gracias ;)

Desconectado FJ_Sanchez

  • Azote de Vozmeider
  • ********
  • Mensajes: 984
  • Hack your mind
    • Ver Perfil
    • Mipixel.com el blog de F.J. Sánchez
Re:Archivos del taller de programación de microcontroladores
« Respuesta #5 en: 01 de Jun de 2010, 21:49:47 »
Eso tiene pinta de ser que estás usando una versión vieja del compilador JALv2. ¿Puedes comprobarlo?
El espectro radioeléctrico es el suelo urbanizable de la sociedad de la información. Su infraestructura invisible supone la mayor obra de ingeniería de la historia de la humanidad.

Reclaim the spectrum.

Desconectado javier

  • Pelacables
  • *
  • Mensajes: 11
    • Ver Perfil
Re:Archivos del taller de programación de microcontroladores
« Respuesta #6 en: 02 de Jun de 2010, 16:31:23 »
Eso tiene pinta de ser que estás usando una versión vieja del compilador JALv2. ¿Puedes comprobarlo?


Estoy contigo. Si no recuerdo mal, en las versiones anteriores a la "versión de clase" que os enseñé (2.4.m) estas directivas debían ser incluidas como parámetros en la linea de comandos del compilador cuando lo llamabas; algo bastante coñazo, aunque si usabas el mplab como entorno de programación bastaba con incluirlo en un bloque de texto. Si quieres más info sobre esta posiblidad, vete a http://www.mipixel.com/2009/10/10-mplab-jalv2. (Espero un porcentaje por este anuncio, fran)


Puede que haya una razón para esto que te ha pasado:

Si sigo sin mala memoria, existe un pack por internet que incluye tanto el compilador jalv2 como las librerias y el IDE (el jaledit). Este pack se llama "jalpack" y es bastante cómodo de instalar; el problema es que los que vi trabajaban con la version 2.4.l del compilador, y con una versión <0.72 de jaledit.

Es posible que si te has bajado este pack con anterioridad no tengas la ruta del compilador adecuada, bien sea porque el unico compilador que tengas sea el compilador 2.4.l. o porque aun teniendo la versión del compilador que os pasé de clase, no hayas cambiado la ruta por defecto.

No sería nada extraño porque cuando instalas desde 0 el jaledit, en cualquiera de sus versiones, toma por defecto la ruta "C:/jalpack/lib" "C:/jalpack/compiler"  (hablo de memoria). Y claro, al principio pues los archivos de muestra de jal (samples) pues te los compilaría bien, pero cuando le metes bootloader esta directiva no es reconocida  y empieza a regañarte.


Espero haberme aclarado. Un saludo.


Javi


Editado para corregir la ruta del compilador...
« última modificación: 02 de Jun de 2010, 16:44:55 por javier »
Before, When people had secrets they didn’t want to share
They’d climb a mountain,
Find a tree and carve a hole in it,
And whisper the secret in the hole.

Then cover it over with mud.
That way, nobody else would ever discover it.