Autor Tema: Codigo evitar interrupciones  (Leído 2089 veces)

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

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
Codigo evitar interrupciones
« en: 15 de Febrero de 2005, 08:50:00 »
Hola amigos..quisiera saber si alguno tiene alguna rutinita que me permita enviar y recibir datos a travez del puerto serie, pero sin usar interrupciones. Necesito algo que simule la forma de trabajar de las interrupciones ya que tengo que hacer un proyecto con un pic que no maneja interrupciones.

Gracias Totales

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
RE: Codigo evitar interrupciones
« Respuesta #1 en: 15 de Febrero de 2005, 09:31:00 »
La solución más viable aunque poco efectiva, es el polling, que se basaría en "comprobar" cada X momento si han llegado datos o no.

salu2

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: Codigo evitar interrupciones
« Respuesta #2 en: 15 de Febrero de 2005, 10:36:00 »
otra opcion seria q pidas los datos cuando los necesites.
todo depende de q tengas del otro lado del puerto...
tambien, podes implementar un control de flujo por hard, agregando un par de pines del micro con las funciones de RTS y CTS, descriptas para las comunicaciones rs-232.

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
RE: Codigo evitar interrupciones
« Respuesta #3 en: 16 de Febrero de 2005, 10:14:00 »
Gracias por las respuestas...en la ayuda del ccs hay un ejemplo que de algo parecido a lo que quiero hacer. Esta hecho con el kbhit() el cual se habilita con la entrada de datos por el puerto, luego viene un fgetc(com1) que se lo asigna a una variable de tipo byte. Lo que me estaria faltando seria una funcion que habilite o deshabilite al kbhit() para que reciba o no cuando yo quiera..como lo haria si puediera manejar interrupciones.

Agradeceria Colaboraciones

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: Codigo evitar interrupciones
« Respuesta #4 en: 16 de Febrero de 2005, 17:47:00 »
si tenes pensado implementar la comuniacion con la USART, de seguro tenes algun bit en los registros de control, para habilitar/deshabilitar el modulo

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
RE: Codigo evitar interrupciones
« Respuesta #5 en: 17 de Febrero de 2005, 06:46:00 »
No ese es el tema que la placa que tengo ya armada tiene un 16f819 que no tiene UART por lo que tengo que hacer alguna rutinita que me simule las interrupiones.

Lo que estoy necesitando es un codigo que me permita saber cuando hay algo en el puerto, y que haga que el pic deje de hacer lo que esta haciendo para recibir y procesar lo que se le esta enviando. Justamente lo que hacen las interrupciones las cuales no puedo usar.

Gracias

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: Codigo evitar interrupciones
« Respuesta #6 en: 17 de Febrero de 2005, 11:22:00 »
Yo he probado comunicasiones seriales sin USART, usando como pin RX a RB0 configurado como interrupcion externa,
entonces al detectar un bit de inicio,  se ejecutaba la rutina de recepcion...

el hecho es q si no podes usar interrupciones, te sera bastante dificil implementar comunicaciones asincronicas.

Desconectado andpic

  • PIC10
  • *
  • Mensajes: 30
RE: Codigo evitar interrupciones
« Respuesta #7 en: 18 de Febrero de 2005, 07:16:00 »
Golden_Eagle, gracias por tu respuesta. Vos sabes que me comentaron de hacerlo como decis vos, puenteando la rx con la rb0. Estaba en duda si probarlo, pero con lo que vos me decis...lo voy hacer. En cuanto a las txs asincronicas no hay problema, por que tengo como manejarlo. Podrias pasarme la rutina que hiciste para manejar las comunicaciones sin interrupciones?? Por favor necesito hacer esta implementacion Urgente y no tengo mucha idea de C, pasamelo por mail a andres_ampuero@hotmail.com o agregame al msn para que podamos hablar.

Gracias