saludos Diego, debiste colocar este mensaje en el subforo de Lenguaje C. Pero bueno ya seguramente algun Mod te lo moverá.
Te respondo lo que yo usualmente hago, supongo que quieres utilizar CCS:
1. para ello necesitarás rutinas de conversion que tu mismo debes construir (o reutilizar algunas qeu puedas encontrar por el foro quizá), por ejemplo para obtener las unidades, decenas, centenas, etc. deberás hacer divisiones sucesivas primeramente extrayendo el módulo 10 (creo que así se llama, es la operación %, "el residuo de una división"), por ejemplo para obtener las unidades de 15678:
int a=15678;
x=a%10; // x=8 x son las unidades
a=a/10; // a=1567
y=a%10; // y=7 y son las decenas
a=a/10; // a=156
y así sucesivamente...
Para el proceso inverso pues tendras que hacer multiplicaciones y sumas:
int a=1,b=2,c=3; //queremos formar un solo número 123 en x
x=x+a; //x=1
x=x*10; //x=10
x=x+b; //x=12
x=x*10; //x=120
x=x+c; //x=123
es solo un ejemplo para hacerlo con 16bits es similar, solo tener cuidado con algunas operaciones de multiplicación, en ccs para mezclar 8bits con 16bits se usa la funcion _mul(x,y). Seguramente puedes encontrar algunas rutinas en el foro, o desarrollarlas de mejor manera utilizando ciclos for u otra cosa que mejor domines.
2. Si deben estar por lo menos definidas en la parte inicial, por ejemplo:
cabecera
...
void x1(){
... tu funcion
}
void x2();
void main(){
... tu programa
}
void x2(){ // puede ser desarrollada despues pero siempre debe ser definida arriba
... tu otra funcion
}
3. Nosé si será necesario saber exactamente el número que le ha asignado. Pero si es impresindible saber la dirección, puedes utilizar un puntero a esa variable y tienes la dirección exacta de esa variable almacenada en la variable puntero, y puedes acceder al valor de la dirección que está apuntando. Para ello se utilizan los operadores * (contenido) y & (dirección)
4. esta no me la se muy bien, pero yo creo que si.
5. No, ningún problema, en C no tienes que preocuparte de utilizar los bancos, el compilador lo hace por ti
6. generalmente un return viene bien, talvez un break, pero de este ultimo no estoy seguro, tendrás que manejarlo con cuidado.
6. esto yo lo hago con Proteus, con el .cof que genera el compilador, pero si no me equivoco puedes integrar el CCS con el MPLAB y depurarlo ahí. Otra forma no la conozco.
Un saludo, espero te sirva.