Autor Tema: interrupcion tbe  (Leído 2256 veces)

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

Desconectado nbc

  • PIC10
  • *
  • Mensajes: 39
interrupcion tbe
« en: 25 de Febrero de 2010, 00:31:58 »
hola , estoy trabajando con un 18f8720 en un proyecto multitarea , en el cual necesito transmitir un mensaje a 1200 baudios ( por limitacion de la radio ) sin que me interrumpa otras tareas , por lo que quiero usar la TBE para saber cuando se transmitio un byte , mientras el micro atiende otra cosa , y seguir con la transmision  si no tiene otra tarea , ya que transmitir todo de una insumiria algunos segundos. Mando el primer byte por software,  pero nunca se produce la int. TBE , he leido directamente el registro pero nunca se pone en 1 , a pesar de haber transmitido el primer byte , a alguien le pasò ? 

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: interrupcion tbe
« Respuesta #1 en: 25 de Febrero de 2010, 01:29:20 »
Me dejaste perdido con eso de TBE!  :mrgreen: Te aseguraste de habilitar las interrupciones por periféricos, local y global? Muéstranos el código para detectar un posible inconveniente  ;-) Habría que mirar el datasheet para determinar si tiene una sola opción de interrupción por transmisión o tiene algunas opciones que haya que configurar.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: interrupcion tbe
« Respuesta #2 en: 25 de Febrero de 2010, 10:47:07 »
A mi me ha pasado igual, llevo toda una vida trasteando con las USART de los PIC's y nunca usé la #INT_TBE RS232 transmit buffer empty Igual será porque no me ha hecho falta.  :D

 
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: interrupcion tbe
« Respuesta #3 en: 25 de Febrero de 2010, 12:35:23 »
Hola.

No se supone que el #use rs_232 hace la transmisión por software? Ese es el problema de no tener acceso al código fuente  :(

Saludos
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: interrupcion tbe
« Respuesta #4 en: 25 de Febrero de 2010, 14:21:18 »
Hola.

No se supone que el #use rs_232 hace la transmisión por software? Ese es el problema de no tener acceso al código fuente  :(

Saludos
No, solo cuando se hace force_sw, sino emplea el módulo. Sino no tendrías manera de utilizar interrupción por recepción de datos, dado que esta se ejecuta al recibir el bit Stop.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: interrupcion tbe
« Respuesta #5 en: 25 de Febrero de 2010, 21:15:29 »
Me refiero a la transmisión de los datos ... no lo hace por soft?

Saludos
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: interrupcion tbe
« Respuesta #6 en: 25 de Febrero de 2010, 21:21:43 »
Me refiero a la transmisión de los datos ... no lo hace por soft?

Saludos

Tampoco, usa el módulo. Porque lo haría por soft  :huh:
No contesto mensajes privados, las consultas en el foro

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: interrupcion tbe
« Respuesta #7 en: 25 de Febrero de 2010, 21:23:39 »
Porque de hacerlo por hard, se vería como cambia el bit correspondiente a la interrupción .... no es asi?

Saludos
El papel lo aguanta todo

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: interrupcion tbe
« Respuesta #8 en: 25 de Febrero de 2010, 21:36:01 »
No hay duda, viendo el assembler generado, vemos que espera a que termine de enviar un dato testeando el bit TXIF y luego carga el dato a TXREG.

Código: [Seleccionar]
.................... #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
*
0006E:  BTFSS  F9E.4
00070:  BRA    006E
00072:  MOVWF  FAD
00074:  GOTO   023A (RETURN)

....................    putc(0xAA);
00236:  MOVLW  AA
00238:  BRA    006E

No contesto mensajes privados, las consultas en el foro

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: interrupcion tbe
« Respuesta #9 en: 26 de Febrero de 2010, 12:14:54 »
 ;-)

Es bien!!!

Saludos
El papel lo aguanta todo

Desconectado bmfranky

  • PIC16
  • ***
  • Mensajes: 165
    • La Tienda De Fran
Re: interrupcion tbe
« Respuesta #10 en: 01 de Marzo de 2010, 05:16:14 »
Hola chicos, la transmisión se hace por soft siempre ,si configuramos pins distintos a los que usa el hardware, ¿sera este el caso?,  si es así aunque parezca tonto jamas generara la interrupción.
Si no es asi, comprueba que este bien configurada , como dice suky, pues el CCS tiene tantos bugs que este podría ser uno de ellos.
Visiten La Tienda De Fran ;-) Aqui. y mi nueva Web Aqui.