Guardar datos registro PIC
| #1 Guardar datos registro PIC |
| #2 |
|
Ardogan
|
Podrías usar el puerto serie USART (o AUSART, o UART, o EUSART depende del pic), con el que vas a poder recibir paquetes de 8 o 9 bits. Para lograr los 10 bits transmitís dos paquetes. Una vez que se reciben los 8 0 9 bits el PIC los pone automáticamente en el registro RCREG y a partir de ahí llevás el dato donde quieras.
Se usa una línea para recibir datos y otra para enviar, y nada más. Para enviar escribís al registro TXREG y se inicia la transmisión. Bueno, leé sobre ese módulo, no creo que tengas problemas en encontrar información (en el sitio de microchip, en el foro, también es fácil encontrar librerías/código fuente para usarlo). |
|||||||||||
|
|
||||||||||||
| #3 |
|
Gustavo84
|
Gracias por su repuesta Ardogan.
El inconvniente es que todos los bits no estan listos al mismo tiempo para enviarlos al PIC de una sola vez , entonces cada vez que esten listos van llegando al PIC y este los va almacenado en ese unico registro. No se si me explique bien [/img] |
|||||||||||
|
|
||||||||||||
| #4 |
|
antoniotenorio
|
hola amgigo Gustavo....seria interesante que nos cuentes que es lo que quieres hacer...osea cual es la aplicaciones en especifico para proponer algun protocolo que ya exita...porque eso de hacer un nuevo protocolo pues lo veo no muy practico nose...por ejemplo si necesitas enviarle 10bits podriamos entenderlos como 10 comandos...y los envias por USART en modo asincrono....asi solo te intereseria digamos el bit de menor peson en cada dato esto por que los Micros ya tienen integrado este modulo que nos simplifica mucha en la programacion...pero si quieres....claro que si necesariamente tienen que ser bits podrias utilizar interrupciones...ahi le colocarias el reloj para saber de donde a donde es un bit...lees un pin que sera el bit y por el mismo lo envias en el peor de los casos (pero sencillo) utilizarias 4 bits.....sigo pensando que no es practico
|
|||||||||||
|
|
||||||||||||
| #5 |
|
Gustavo84
|
Hola:
Lo que se pretende hacer es mover unos motores paso a paso, me explico, (Practicamente lo que pretendo hacer es una mesa de coordenadas ) Tengo un modulo de adquision y generacion de datos por medio de PC que es un poco lento, y con este pretendia mover unos motores PaP. el problema es que al encargale el movimiento del motor a este hay veces se como pasos de PaP. Bueno, entoces decidi encomendar la labor del movimento de los motores a un PIC que lo hace mucho mas rapido y usar este modulo para enviar los datos al PIC. Las coordenadas del motor las tengo en decimal y hago una conversion en el PC para enviarlas por el modulo hacia el PIC de manera decimal serian mas de 10bits. exactamente 15 bits. Entoces en esos bits esta el numero de pasos que tiene que dar el motor. Deberia hacer llegar esos bits al pic, almacenarlos en algun registro, y luego utilizarlos para mover el motor siguiendo la secuencia, la cual seria A B C D sec1 1 1 0 0 sec2 0 1 1 0 sec3 0 0 1 1 sec4 1 0 0 1 Por ejemplo, tengo en el PC el numero 8 lo convierto en binario 1000, lo envio al pic, este lo guarda en un registro que posterimente lo usaria como contador, para mover la secuencia del motor, entonces deberia hacer la tabla anterior 2 veces por que cargue el numero 8. si cargara el numero 2 entonces haria hasta sec2, si cargara el 10 entoces haria sec1 sec2 sec3 sec4 sec1 sec2 sec3 sec4 sec1 sec2 |
|||||||||||
|
|
||||||||||||
| #6 |
|
Ardogan
|
Mmmm no entiendo bien ésto.
Otra buena razón para usar el USART, si es que tenés un puerto serie en la PC. Una vez que hacés la conversión en la PC enviás dos paquetes de 8 bits por el puerto serie hacia el PIC, el PIC los recibe y avanza los pasos que le diga la PC. Para hacerlo simple siempre enviarías 16 bits, no importa si son 2, 8, 120 o 65535 pasos lo que le ordenás avanzar al PIC. Un pseudocódigo muy simple (y muy discutible y optimizable, solo para dar una idea de como podría ser) para assembler en el PIC sería:
En que lenguaje o como programás la PC?. Tenés que tomar la precaución de que los parámetros de transmisión/recepción (velocidad, bit de paridad, bits de inicio y de parada) sean iguales en la PC que en el PIC. Otras cosas que se podrían implementar sin mucha dificultad sería la velocidad de avance (tiempo entre paso y paso) y que trabaje con signo (para recorrer la secuencia en un sentido u otro) |
|||||||||||||||
|
|
||||||||||||||||
|
| Temas de interés | |
|---|---|
| Adquisicion de datos a traves de serial o puerto paralelo | |
| Adquisicion de datos con JK3 (motorola) | |
| Adquisición de datos por Tarjeta de audio | |
| Anchos de banda (Transmisión de datos VoIP videoconferencia) | |
| Datos de Norma PAL N (Television) | |
| Foros de Electronica |
| ||
Cuestiones Elementales de Electrónica ||
Fuentes de alimentacion ||
Circuitos de radio ||
Diseño de circuitos en general || || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Site Map
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.10540 segundos, Consultas = 13
© Foros de Electrónica
Comunidad Internacional de Electrónicos
Powered by phpBB © 2001, 2005 phpBB Group
Acerca de || Política de privacidad
Generada en = 0.10540 segundos, Consultas = 13

