el problema que tengo con el printf es el siguiente.
por ejemplo supongamos que queremos que un pic que tenga dos puertos seriales, bueno como estoy utilizando el 18f4550, este solo tiene un puerto serial implementado por hardware, el otro puerto serial lo implemento por software, que es muy facil en ccs,
#use rs232(baud=9600 xmit=PIN_B6, rcv=PIN_B7, stream=computadora)//puerto implementado por hardware
#use rs232(baud=9600 xmit=PIN_B2, rcv=PIN_B3, force_sw, stream=esclavo) //puerto implementado por software
al momento de utilizar la funcion printf por ejemplo
printf("%s",dato,computadora)
no envia nada, es como que esta funcion no reconoce porque puerto serial va a salir, sin enbargo utilizando la funcion puts() si envia, ya que para recepcionar con gets(), termina con un retorno de carro, y el retorno de linea queda para la siguiente gets() pero asi se deforma los datos.
asi si reconoce porque puerto serial va asalir
puts(dato,computadora)
que puede ser, como le indico a la funcion printf porque puerto salir.