Autor Tema: Dudas con el remapeo de pines de un pic24h  (Leído 2151 veces)

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

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Dudas con el remapeo de pines de un pic24h
« en: 23 de Abril de 2012, 16:59:00 »
Hola a todos,

Estoy desarrollando una aplicacion usando un Pic24hj128gp502 para usar la opcion del UART que tiene este micro, he tomado como referencia el ejemplo de Suky, pero no me queda muy claro el remapeo de pines que se hace

Código: [Seleccionar]
RPINR18bits.U1RXR = 9; //Asignamos pin recepción UART1 a RP9.
RPOR4bits. RP8R = 0b00011; // Asignamos RP8 al pin de transmisión UART1.


Entiendo que como pin RX esta asignando el RP9 pero como se explica que para asignar el pin TX a RP8 le da el valor de 3???

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Dudas con el remapeo de pines de un pic24h
« Respuesta #1 en: 23 de Abril de 2012, 17:15:45 »
Leyendo del datasheet  :mrgreen: RPOR4bits.RP8R se refiere al control sobre el pin re-mapeable RP8 (pag 147), luego en la tabla 10-3 (pag 130) indica que 0011 es U1TX.


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

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Dudas con el remapeo de pines de un pic24h
« Respuesta #2 en: 24 de Abril de 2012, 15:00:31 »
Hola Suky,

Gracias por responder, ahora tengo otra duda.

Estoy usando como referencia el primer ejemplo del uso del UART de tu manual y cuando compilo el programa obtengo el sgte mensaje:

Citar
Test_RS234.c: In function '_U1RXInterrupt':
Test_RS234.c:22: warning:  PSV model not specified for '_U1RXInterrupt';
   assuming 'auto_psv' this may affect latency

A que se debe esto y como puedo evitarlo...?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Dudas con el remapeo de pines de un pic24h
« Respuesta #3 en: 24 de Abril de 2012, 16:38:21 »
Para evitarlo debes colocar por ejemplo:

Código: C
  1. void __attribute__((__interrupt__,no_auto_psv))

En el manual de usuario de C30 explica bastante en detalle las distintas opciones.

No contesto mensajes privados, las consultas en el foro

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Dudas con el remapeo de pines de un pic24h
« Respuesta #4 en: 24 de Abril de 2012, 17:56:54 »
Hola Suky,  :oops: no quiero molestar pero sigo probando tu ejemplo pero ahora tengo el siguiente mensaje:

Citar
Test_RS234.c: In function 'main':
Test_RS234.c:83: warning: passing argument 1 of 'putsUART1' from incompatible pointer type

en tu codigo:
Citar
const char Texto[] = "Probando comunicación serial...\r\nPIC24HJ128GP502 xD ...\r\n";
   Init_UART();
   KbhitUART=0;
   putsUART1(Texto);

Tambien he reemplazado por:

Citar
putsUART1("Probando comunicación serial...\r\nPIC24HJ128GP502 xD ...\r\n")

y tambien he intentado con esto pero igual sigo obteneindo el mismo mensaje.

Sin abusar de tu amabilidad podrias  decirme como podria corregir esto?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Dudas con el remapeo de pines de un pic24h
« Respuesta #5 en: 24 de Abril de 2012, 22:14:00 »
Eso no es gran problema, el tema está que la función está definida de la siguiente manera:

Código: C
  1. void putsUART1(unsigned int *buffer)

Es para cuando se quiere enviar 9-bits. Pero si está configurado como 8-bits te envía chars. Para eliminar el warning podes hacer:


Código: C
  1. putsUART1((unsigned int *)&Texto);


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

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Dudas con el remapeo de pines de un pic24h
« Respuesta #6 en: 25 de Abril de 2012, 12:30:15 »
 :-/ Gracias!!!