Comenzar a trabajar con SDCC y pic 14 bits (PIC12, PIC16).

Publicar nuevo tema   Responder al tema

Ver el tema anterior Ver el tema siguiente Ir abajo

Comenzar a trabajar con SDCC y pic 14 bits (PIC12, PIC16).

Mensaje  Pikitin el Sáb 6 Dic 2008 - 3:15

Lo primero decir que para trabajar con SDCC en Piklab es necesario crear un proyecto (solucionado en Piklab 0.15.4), sinó no va a compilar bién.
Si creamos un proyecto y le decimos que nos cree una plantilla (template) vamos a tener una estructura básica de programa, incluyendo definición del micro y bits de configuración:


/* ----------------------------------------------------------------------- */
/* Plantilla generada por Piklab */
#include //nombre del pic seleccionado

/* ----------------------------------------------------------------------- */
/* Bits de configuración: adapte los parámetros a su necesidad */

typedef unsigned int word;
word at 0x2007 CONFIG = _RC_OSC & _WDT_ON & _PWRTE_OFF & _BODEN_ON & _LVP_ON & _CPD_OFF & _WRT_OFF & _DEBUG_OFF & _CP_OFF;

void isr() interrupt 0 { /* rutina de servicio de interrupciones */
/* << agregue el código de interrupción >> */
}

void main() {
/* << agregue el código >> */
}


A partir de aquí podemos escribir nuestro programa.


BITS DE CONFIGURACION:

Si quereis cambiar los bits de configuración en Piklab, podeis usar la herramienta "generador de configuración", en el menú "Herramientas", os saldrá esta pantalla, no hay más que elegir la configuración desada, copiar al portapapeles y pegar en el lugar correspondiente de nuestro programa.


VARIABLES:

tipos de Variable:

char (8 bits, 1 byte), valores: -128 a 127
unsigned char (8 bits, 1 byte), valores: 0 a 255

short (16 bits, 2 bytes), valores: -32768 a 32767
unsigned short (16 bits, 2 bytes), valores: 0 a 65535

int (16 bits, 2 bytes), valores: -32768 a 32767
unsigned int (16 bits, 2 bytes), valores: 0 a 65535

long (32 bit, 4 bytes), valores: -2147483648 a 2147483647
unsigned long (32 bit, 4 bytes), valores: 0 a 4294967295

float (4 byte IEEE)



REGISTROS:

la sintaxis para manejar puertos de entrada/salida es esta:

Byte:
PORTB = 0x0F; PORTB= 15; PORTB = 0b00001111; PORTB = variable_char; PORTB &= v_char << x; etc.

Bit:
RB0 = 1; RB5 = 0;

Similar es la de otros registros: tanto a nivel byte como a nivel bit se accede solo con el nombre de registro en mayúscula:

ADCON0 = 0;
ADCON1 = 0b10000001;
ADCON0 = (fosc & 0x03) << 6;

ADIF = 0;
ADIE = 1;
PEIE = 1;


INSERTAR ASM:

_asm
sublw 1
bucle:
addlw 1
btfss STATUS,0
goto bucle
_endasm;

Pikitin
veterano
veterano

Cantidad de envíos: 332
Fecha de inscripción: 26/11/2008

Volver arriba Ir abajo

Re: Comenzar a trabajar con SDCC y pic 14 bits (PIC12, PIC16).

Mensaje  Geo el Jue 18 Dic 2008 - 8:41

Muchas gracias por el ejemplo, por ahora he hecho unos cuantos programas usando SDCC (tres Razz), compilando desde línea de comandos, recién empiezo a probar con Piklab y espero me sea de mucha ayuda (me gusta la parte de generación del código para la configuración del micro Smile).

Geo
Participante Activo
Participante Activo

Cantidad de envíos: 64
Fecha de inscripción: 16/12/2008
Localización: México

http://mextronics.netii.net

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Publicar nuevo tema   Responder al tema
Permiso de este foro:
No puedes responder a temas en este foro.