| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
alquimus modder


 País:  Sexo:  Registrado: 24 July 2006 Mensajes: 2
|
Publicado: Lun, 24 Jul 2006 10:28 pm Asunto: Recibir datos desde el PIC |
|
|
Hola a todos, he desarrollado el proyecto original, y he logrado grandes avances, mi objetivo es controlar 4 motores paso a paso a travez del pic, para lo cual he logrado aumentar la cantidad de informacion que le ENVIO al PIC ( en este caso un 18F4550), sin embargo no he podido RECIVIR desde el PIC mas de 1 byte, (como en la suma) .
Que parametros debo modificar tanto en el archivo .C que va en el pic, tanto como en el proyecto de visual c# para poder aumentar la cantidad de bytes recibidos?. |
|
| Volver arriba |
|
 |
Lars_Ulrich modder


 País:  Sexo:  Registrado: 18 March 2007 Mensajes: 6
|
|
| Volver arriba |
|
 |
Teotekaplan Moderador


 País:  Sexo:  Registrado: 31 March 2003 Mensajes: 4120 Ubicación: Gijón
|
|
| Volver arriba |
|
 |
Lars_Ulrich modder


 País:  Sexo:  Registrado: 18 March 2007 Mensajes: 6
|
Publicado: Lun, 19 Mar 2007 9:42 pm Asunto: |
|
|
Gracias Teotekaplan por la respuesta, pero ya revisé y todo esta bien conectado, y sin embargo me sigue saliendo el mismo error alguna otra solucion ???... |
|
| Volver arriba |
|
 |
Teotekaplan Moderador


 País:  Sexo:  Registrado: 31 March 2003 Mensajes: 4120 Ubicación: Gijón
|
|
| Volver arriba |
|
 |
Lars_Ulrich modder


 País:  Sexo:  Registrado: 18 March 2007 Mensajes: 6
|
Publicado: Mar, 20 Mar 2007 7:09 am Asunto: |
|
|
De antemano ,uchas gracias por la qyuda que me etas dando Teo...
Entrando en materia, hice las 2 primeras y sucedieron 2 cosas interesantes: 1) cuando instale el driver a mano ya por lo menos no lo reconoce como "Dispositivo desconocido", sino como "PicUSB"(eso creo que es bueno), lo malo es que ahora no me sale ni siquiera el icono ni nada de eso 
por cierto, de las versiones, estoy instalando el que posteó J1M en la pag 4 de este foro... no se si sea el mas reciente...
con respecto al condensador de alimentacion, carajo no lo puse, y como un refran de mi tierra dice: "en casa de herrero, cuchillo de palo", no tengo un condensador de 100n y me toca ir a comprarlo mañana :p
si hay alguna mejora, escribiré mis agradecimientos, y si no, escribiré molestandoles mas la vida jejeje :p:p.... GRACIAS!!! |
|
| Volver arriba |
|
 |
Lars_Ulrich modder


 País:  Sexo:  Registrado: 18 March 2007 Mensajes: 6
|
Publicado: Mar, 20 Mar 2007 7:50 pm Asunto: |
|
|
GRACIAS!!!! ya compre el condensador y funcionó a las mil maravillas... (eso me pasa por descuidado)... pero todo gracias a la ayuda que me dieron... ahhh por cierto, lo del icono personalizado en la clase de dipositivos no me salió correctamente, pero lo importante es que ya lo raconoce perfecto...
THANKS!!!!  |
|
| Volver arriba |
|
 |
dianacarolito modder


 País:  Sexo:  Registrado: 30 May 2007 Mensajes: 1
|
Publicado: Mie, 30 May 2007 4:01 am Asunto: |
|
|
Hola lo que pasa es que quiero utilizar el protocolo usb y el i2c pero cuando inicia la interrupcion producida por el usb no me realiza la del i2c, me podrian ayudar  |
|
| Volver arriba |
|
 |
Teotekaplan Moderador


 País:  Sexo:  Registrado: 31 March 2003 Mensajes: 4120 Ubicación: Gijón
|
|
| Volver arriba |
|
 |
J1M modder


 País:  Sexo:  Registrado: 28 October 2003 Mensajes: 167 Ubicación: Cartagena
|
|
| Volver arriba |
|
 |
Teotekaplan Moderador


 País:  Sexo:  Registrado: 31 March 2003 Mensajes: 4120 Ubicación: Gijón
|
Publicado: Mie, 30 May 2007 11:05 pm Asunto: |
|
|
La verdad que mi respuesta fue rápida y con acritud, pero J1M tiene razón... tenía que haberme leído dos veces la pregunta... n hace falta código (en principio) para ver que una causa 99% probable es esa.
Como bien dicen, cuando entras en una interrupción, éstas quedan deshabilitadas ya que el PIC no tiene stack para interrupciones anidadas.
El truco es intentar modificar la rutina del I2C para que salve los registros principales del PIC (WREG, STATUS... etc) en unas variables, en lugar de dejar al compilador que lo haga.
Cuando entres en la de USB, los registros se guardan automáticamente. Ahí dentro has de habilitar de nuevo las interrupciones a mano (las de I2C y globales) y cuando la del I2C ocurra, los registros se salvarán en tus variables.
Al salir de la int de I2C, metes tus variables en sus registros originales y sales de la interrupción, con lo que volverías a la del USB.
Al loro porque ésto sólo lo podrás hacer en ASM o accediendo directamente a los registros.
Otra opción es pasarte a los 18F.... que tienen dos niveles de interrupción: una de alta prioridad y otra de baja.'Me lo contaron y lo olvidé. Lo vi y lo entendí. Lo hice y lo aprendí.'  |
|
| Volver arriba |
|
 |
J1M modder


 País:  Sexo:  Registrado: 28 October 2003 Mensajes: 167 Ubicación: Cartagena
|
|
| Volver arriba |
|
 |
Teotekaplan Moderador


 País:  Sexo:  Registrado: 31 March 2003 Mensajes: 4120 Ubicación: Gijón
|
|
| Volver arriba |
|
 |
J1M modder


 País:  Sexo:  Registrado: 28 October 2003 Mensajes: 167 Ubicación: Cartagena
|
Publicado: Mie, 03 Oct 2007 6:27 pm Asunto: |
|
|
| Ostrin... pues a ver, los punteros convierten el código en no seguro, por lo que hay q compilarlo como tal. C# Tiene una variable 'propia' llamada IntPtr, es una mezcla entre puntero y variable pero 'segura'... Lo que no tengo claro es si puede ser bidimensional. De todas formas si tu bidimensionalidad es debida a un LCD, supongo que si previamente defines el WxH y son constantes, las dos dimensiones las puedes transformar en un array de una sola dimensión........... Creo que no me he explicado en absoluto :p Si puede pensarse, puede hacerse... |
|
| Volver arriba |
|
 |
Teotekaplan Moderador


 País:  Sexo:  Registrado: 31 March 2003 Mensajes: 4120 Ubicación: Gijón
|
|
| Volver arriba |
|
 |
|