TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: Ricardux 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.
-
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)
-
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
-
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()