En la funcion se ve la diferencia. putsUART1 envia es un array, mientras que la segunda no. Por ejemplo, para enviar "hola mundo" seria asi:
char hi[11] = {'h','o','l','a',' ','m','u','n','d','o'};
...
for (i=0, i<=10, i++)
{
WriteUART1(hi[i]);
}
.....
putsUART1("Hola Mundo");
Creo que es asi........