Autor Tema: trabajar con dos uarts en ccs  (Leído 2416 veces)

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

Desconectado Ricardux

  • PIC10
  • *
  • Mensajes: 19
trabajar con dos uarts en ccs
« en: 28 de Marzo de 2014, 18:34:02 »
Buenas, como puedo trabajar con las dos uarts de mi dspic30f4013, es decir yo las cargo ya pero como diferencio en el putc con la que voy a enviar. En mi caso una uart la uso para la comunicacion x el xbee y la otra para comunicarme con mi robot, como aclaro al putc que quiero enviar x la uart1 o dos?, gracias.

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: trabajar con dos uarts en ccs
« Respuesta #1 en: 28 de Marzo de 2014, 18:57:45 »
en ccs cuando configuras tu uart, dentro de la directiva #use rs232 defines stream=nombrepuerto

de esta forma le asignas un nombre a tu uart, y para mandar a imprimir o leer usar fprintf(nombrepuerto,".....",variables)

o fgets(string, nombrepuerto)

"Nada es imposible, no si puedes imaginarlo"

Desconectado Ricardux

  • PIC10
  • *
  • Mensajes: 19
Re: trabajar con dos uarts en ccs
« Respuesta #2 en: 28 de Marzo de 2014, 19:34:31 »
Hola gracias es decir que si quiero enviar x ejjemplo un 128 x la uart1 seria asi: putc(128, UART_PORT2); y por la uart2 seria  putc(128, UART_PORT1);
ya que al configurarlas las puse asi:

#use rs232(UART2, baud=57600,parity=N,bits=8, stream=UART_PORT2)
#use rs232(UART1, baud=57600,parity=N,bits=8, stream=UART_PORT1)

pero igual me sigue sin funcionar no me esta enviando los datos.

adjunto todo el codigo :

#include <30F4013.h>
#FUSES NOBROWNOUT               //No brownout reset
#fuses XT,  NOWDT, NOPROTECT, NOWRT
#device ICSP=1
#use delay(clock=40MHz,crystal=10MHz)
#use rs232(UART2, baud=57600,parity=N,bits=8, stream=UART_PORT2)
#use rs232(UART1, baud=57600,parity=N,bits=8, stream=UART_PORT1)
   
void main() {
while(TRUE){
int x=128;
 putc(x, UART_PORT2);
 putc(x, UART_PORT1);
 putc(132, UART_PORT2);
 putc(132, UART_PORT1);
 putc(145, UART_PORT2);
 putc(145, UART_PORT1);
 putc(50, UART_PORT2);
 putc(50, UART_PORT1);
 putc(50, UART_PORT2);
 putc(50, UART_PORT1);
 putc(50, UART_PORT2);
 putc(50, UART_PORT1);
 putc(50, UART_PORT2);
 putc(50, UART_PORT1);
}
}

gracias salu2

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: trabajar con dos uarts en ccs
« Respuesta #3 en: 28 de Marzo de 2014, 19:40:54 »
tus definiciones estan bien, pero para enviar el dato la función es

fputc()

putc no te permite definir el puerto a usar, debes usar fputc()
"Nada es imposible, no si puedes imaginarlo"


 

anything