Tomando en cuenta el post de RICHI777, trate de separar individualmente los elementos de la cadena pero creo que no obtuve el exito, ya que al hacer un debug me di cuenta que las variables se me desbordaban... o tal vez no es correcta la forma en la que lo estoy haciendo, ademas me marca un warning.....
Make: The target "C:\P_C18\LCD_SER\openuart.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\readuart.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\uartdata.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\writuart.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\getsuart.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\putsuart.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\lcd_serial.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\LCD_SER.o" is out of date.
Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4610 /i"C:\MCC18\h" "LCD_SER.c" -fo="C:\P_C18\LCD_SER\LCD_SER.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
C:\P_C18\LCD_SER\LCD_SER.c:47:Warning [2054] suspicious pointer conversion
Make: The target "C:\P_C18\LCD_SER\ftoa.o" is up to date.
Make: The target "C:\P_C18\LCD_SER\LCD_SER.cof" is out of date.
Executing: "C:\MCC18\bin\mplink.exe" /l"C:\MCC18\lib" /k"C:\MCC18\bin\LKR" "C:\MCC18\lkr\18f4610.lkr" "C:\P_C18\LCD_SER\openuart.o" "C:\P_C18\LCD_SER\readuart.o" "C:\P_C18\LCD_SER\uartdata.o" "C:\P_C18\LCD_SER\writuart.o" "C:\P_C18\LCD_SER\getsuart.o" "C:\P_C18\LCD_SER\putsuart.o" "C:\P_C18\LCD_SER\lcd_serial.o" "C:\P_C18\LCD_SER\LCD_SER.o" "C:\P_C18\LCD_SER\ftoa.o" /o"C:\P_C18\LCD_SER\LCD_SER.cof" /M"C:\P_C18\LCD_SER\LCD_SER.map" /W
MPLINK 4.30.01, Linker
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0
MP2HEX 4.30.01, COFF to HEX File Converter
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0
Loaded C:\P_C18\LCD_SER\LCD_SER.cof.
BUILD SUCCEEDED: Tue Dec 07 16:57:57 2010
#include <p18f4610.h>
#include <delays.h> //Libreria para los retardos
#include <stdlib.h> //Libreria para conversiones a string
#include <stdio.h>
#include <sw_uart.h>
#include <string.h>
#include <math.h>
#include "./Include/lcd_serial.h"
#include "./Include/ftoa.h"
#pragma config OSC=HS,FCMEN=OFF,IESO=OFF
#pragma config PWRT=ON,BOREN=OFF,BORV=0,WDT=OFF,WDTPS=32768
#pragma config MCLRE=ON,LPT1OSC=OFF,PBADEN=OFF,CCP2MX=PORTBE
#pragma config STVREN=OFF,LVP=OFF,XINST=OFF,DEBUG=OFF
#pragma config CP0=OFF,CP1=OFF,CP2=OFF,CP3=OFF,CPB=OFF
#pragma config WRT0=OFF,WRT1=OFF,WRT2=OFF,WRT3=OFF,WRTB=OFF,WRTC=OFF
#pragma config EBTR0=OFF,EBTR1=OFF,EBTR2=OFF,EBTR3=OFF,EBTRB=OFF
float numero,numero_x;
unsigned char numero_1,numero_2,numero_3,numero_4,Datos[20];
unsigned long num_5,num_4,num_3,num_2,num_1,numero_completo;
char cadena[20],cad[2],cadena_2[20],cadena_x[20],x[20];
unsigned int i,Largo;
void main(void)
{
ADCON1=15;
OpenUART();
Delay_ms(200);
ClearLCD();
HomeLCD();
Datos[0]=0; Datos[1]=0; Datos[2]=0;
Datos[3]=0; Datos[4]=0; Datos[5]=0;
Datos[6]=0;
numero_completo=1234560;
ltoa(numero_completo,cadena);
Largo=strlen(cadena);
for(i=0;i<Largo;i++)
{
Datos[i]=atoi(cadena[i]);
}
Tomare en cuenta tu consejo Suky y me pondre a investigar mas sobre cadenas, aunque creo que en el compilador C18 faltan algunas funciones para el manejo de strings que ordinariamente vienen en otros compilaodres o se les ha moficado su nombre......
Saludos