Hola gente, les escribo para que me puedan ayudar en la transición de lenguajes de programación, yo programo en ASM y quiero pasarme al C, mas especifico C18, y tengo muchas dudas, he leído y visto programas y cada vez que lo hago me surgen mas dudas ya que veo los ejemplos y mayormente tienen algo cambiado que no se encuentra en algún ejemplo para aclarártelo,
Bueno empiezo con algunas preguntas:
1_ Siempre tengo que generar un archivo que sea main.c, o puede ser otro como test.c el que tenga el cuerpo principal del programa?
2_ Los archivos con extensiones .c serian como la parte principal del programa o periférico y los archivos .h como pedazos del programa que contengan rutinas especificas, yo los
igualo con los archivos .asm y .inc respectivamente.
3_ La declaración #Pragma se puede usar de estas dos formas:
A:
#pragma config WDTEN = OFF, LVP = OFF
ó
#pragma config WDTEN = OFF
#pragma config LVP = OFF
B: También la vi en esta instrucción:
#pragma code high_vector=0x08
void InterruptTimerHigh (void)
{ _asm goto Timer1ISRHigh _endasm
}
#pragma code
Se que es una interrupcion de halta prioridad pero el "code" no lo vi en ningun ejemplo hay mas quw utilice pragma?
C: Y este VOID esta en una linea diferente de la función:
#pragma interrupt Timer1ISRHigh
void
Timer1ISRHigh(void)
no deberia ser:
4_A
A raíz del ejemplo anterior las etiquetas de las funciones son asi:
El (void) indica que es un LABEL, y las que terminan así
B_Tambien vi esta que empieza con una declaracion de enteros
int check_bat_sense(void)
que significan?
Bueno son muchas preguntas que tengo pero se las dire mientras vaya creando mi programa.
Les paso una pagina de programacion en C++ que me saca de algunas dudas.
http://www.zator.com/Cpp/E_Ce.htmSaludos y gracias