Autor Tema: SDCC.. me recomiendan algun tutorial  (Leído 5984 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Risanti

  • PIC10
  • *
  • Mensajes: 43
SDCC.. me recomiendan algun tutorial
« en: 01 de Octubre de 2008, 19:46:30 »
A la todos..

Estoy retomando la programacion de Pic, usando Piklab en GNU/Linux Ubuntu. sin embargo deseo programar en C
para lo cual estoy usando Sdcc, mi dua es si existe algun tutorial o donde explique funciones basicas en sdcc

Definicion de puertos
generacion de retardos
Manejo LCD.comunicacion serial
Etc

Esperando su ayuda.
Risanti

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Risanti

  • PIC10
  • *
  • Mensajes: 43
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #2 en: 02 de Octubre de 2008, 02:48:22 »
gracias por el dato.. pero no se si busco mal.. pero lo que me gustaria es algun ejemplo de programacion para cual pic 16Fxxx
 
ya que en la pagina no encuentro..
gracias
Risanti

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #3 en: 02 de Octubre de 2008, 16:24:37 »
Pues creo que no pusiste mucha atencion, ya que en el primer link con negritas dice Compiling a C Program for the PIC - toggle_led.c lo cual es un ejemplom para el PIC16F627
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #4 en: 02 de Octubre de 2008, 20:43:49 »
Tal como lo dices Navaismo:

Código: C#
  1. /*
  2.  toggle_led.c
  3.  Micah Carrick
  4.  04.25.2005
  5.  
  6.  Toggles an LED on Pin 1 of PORTB on a PIC16F627. Written
  7.  as a sample for the article on using SDCC and GPSIM in
  8.  Linux. http://www.micahcarrick.com/v2/content/view/14/4/
  9.  
  10.  Compile: sdcc --debug -mpic14 -p16f627 toggle_led.c
  11.  Simulate: gpsim -pp16f627 -s toggle_led.cod toggle_led.asm
  12.  
  13. */
  14.  
  15. /* Define processor and include header file. */
  16. #define __16f627
  17. #include"pic/pic16f627.h"
  18.  
  19. /* Setup chip configuration */
  20. typedef unsigned int config;
  21. config at 0x2007 __CONFIG = _CP_OFF &
  22.  _WDT_OFF &
  23.  _BODEN_OFF &
  24.  _PWRTE_OFF &
  25.  _ER_OSC_CLKOUT &
  26.  _MCLRE_ON &
  27.  _LVP_OFF;
  28.  
  29. #define b1 0x02 /* pin 1 on PORTB */
  30. #define B_OUTPUTS 0xFD /* value used to setup TRISB */
  31.  
  32. void main(void) {
  33.  
  34.  /* PORTB.1 is an output pin */
  35.  TRISB = B_OUTPUTS;
  36.  
  37.  while(1) { /* Loop forever */
  38.  
  39.  /* toggle bit 1 */
  40.  PORTB = (PORTB ^ b1);
  41.  
  42.  }
  43. }
El papel lo aguanta todo

Desconectado Risanti

  • PIC10
  • *
  • Mensajes: 43
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #5 en: 03 de Octubre de 2008, 12:20:25 »
Jajjaja... Gracias.. no revise bien...

Errar es Humano.. Gracias


Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #6 en: 03 de Octubre de 2008, 14:10:41 »
Muy bueno este hilo!
Gracias por los Links nava!
Por cierto Navaismo, comentaste que últimamente has estado trabajado bastante en linux. Eso me interesa sobremanera. ¿Has logrado desarrollar exitosamente proyectos en C usando el compilador libre SDCC? ¿Hay forma de usar el ICD2 con linux?
De antemano agradezco las respuestas, y saludos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #7 en: 04 de Octubre de 2008, 20:10:42 »
Hola Fire, la verdad es que para electronica solo uso win ya sea en la VMWare o en l partcion, para electronica en Linux siempre busque algo con Basic y no hay muchas opciones un basic Stamp medio cutre y KTECHLAB que se quedo a medias. Como sabras soy de Basic a morir por ello casi nunca he usado el SDCC pero hay un sin fin de resources en la web que te pueden ayudar, al menos mi JDm es compatible con PIKLAB y por ahi puse alguna ves un videito de como jalaba.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #8 en: 05 de Octubre de 2008, 13:06:16 »
Gracias por el comentario nava, si es verdad... olvidé que tu trabajas en basic.
Seguiré averiguando a ver qué consigo... mientras tanto seguiré con el virtualbox y el guindos, qué mas da...
Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #9 en: 06 de Octubre de 2008, 17:20:35 »
Se supone que Piklab soporta ICD2, yo no lo uso, pero está entre las opciones...

Desconectado arcachofo

  • PIC16
  • ***
  • Mensajes: 126
    • Foro para usuarios Linux.
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #10 en: 07 de Octubre de 2008, 23:15:23 »
Supongo que ya habrás mirado, pero este es el manual de la pag. oficial: http://sdcc.sourceforge.net/doc/sdccman.html/
Tambien hay una versión .pdf para descargar

Desconectado Jpic

  • PIC12
  • **
  • Mensajes: 94
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #11 en: 22 de Diciembre de 2008, 05:00:51 »
Muy bueno este hilo!
Gracias por los Links nava!
Por cierto Navaismo, comentaste que últimamente has estado trabajado bastante en linux. Eso me interesa sobremanera. ¿Has logrado desarrollar exitosamente proyectos en C usando el compilador libre SDCC? ¿Hay forma de usar el ICD2 con linux?
De antemano agradezco las respuestas, y saludos!  :mrgreen:


amigo el ICD2 si esta soportado totalmente en linux, yo lo comprobe en mi debian lenny con piklab y va de maravilla, ademas el ICD2 q tengo es un clon compatible.
puedes ver un post q subi aqui: http://pic-linux.foroactivo.net/programadores-f12/icd2-100-funcional-en-piklab-t68.htm como configurar todo. es un foro nuevo al q estoy trabajando duro.

Desconectado Risanti

  • PIC10
  • *
  • Mensajes: 43
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #12 en: 07 de Enero de 2009, 13:01:37 »
Hola a todos:
Tras un poco estudiar algo de c ansi  y un poco de ayuda (arcachofo por su libreria de ADC ,Bastante bueno su aporte)
he montado un voltimetro digital de 0 a 50V usando SDCC.


Se los dejo para que lo vean.
Código: [Seleccionar]
/*************************************************************************** */
/* Voltimetro_7seg_876.c Enero 4 del 2009 */
/*---------------------------------------------------------------------------*/
/* Ejemplo Voltimetro 0-50Vdc con Microcontolador Pic16F876A */
/* Con Display 7 Seg Multeplexado a traves de RA1,RA2,RA3 */
/*---------------------------------------------------------------------------*/
/* Ricardo Santibañez */
/*---------------------------------------------------------------------------*/
/* Desarrolado con SDCC. */
/*****************************************************************************/

#include
#include
#include /*Funcion para uso ADC gracias arcachofo PIc Linux*/



typedef unsigned int word;
word at 0x2007 CONFIG = _XT_OSC & _WDT_OFF & _PWRTE_ON &
_BODEN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF &
_DEBUG_OFF & _CP_OFF;


/* Declaracion de Variables */
char display[10]={0x01,0x4f,0x12,0x06,0x4c,0x24,0x60,0x0f,0x00,0x0c}; //Valores que representa numeros en display 7 seg.
char ingres=1;
long int digito1,digito2,digito3;
long int medida;
long int medida1;


/*Rutina de Interrupciones, en este caso por Desborde de Timer 0*/
void isr() interrupt 0 {

switch (ingres) //Selecciono que Display Activar y que valor cargar
{
case 1:
RA3=1;
RA2=1;
RA1=0;
PORTB=display[digito1];
ingres=2;
break;
case 2:
RA3=1;
RA1=1;
RA2=0;
PORTB=display[digito2];
ingres=3;
break;
case 3:
RA2=1;
RA1=1;
RA3=0;
PORTB=display[digito3];
ingres=1;
break;
}
T0IF=0; // Borro Bandera de Desborde
TMR0=150; // cargo valor en TMR0
}

void main() {

TRISA=1; // Puerta.0 como entrada y el resto como salida
TRISB=0; // Todo el Puerto B como Salida
TMR0=150; // inicio Tmr0 =150
OPTION_REG=5; //Configuro preescaler de TMRO
T0IE=1; // activo Int. por Tmr0
GIE=1; // Habilito Interrupciones
PORTB=0; // inicio Portb
adc_init(FOSC_2, A1_R0, INT_OFF); //Uso de Rutina ADC de PIC, iniciacion
while (1)
{
medida=adc_read(0); // Leer canal 0
medida1=((medida*500)/1023);//Escalar Variable de 0 a 500

/*Determinar Valores para cada digito del Display*/
digito1=(medida1/100);
digito2=(medida1-(digito1*100))/10;
digito3= medida1-(digito1*100+digito2*10);
delay_ms(200);

}

}


Ademas le dejo este video.

                                     


hay un pequeño error en el nombre del pic ... me equivoque .. jajaj es pic 16F876... pero dije pic 16F786 (upssss)

Ademas les dejo el esquema de este circuito

       
       



atte. Risanti

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: SDCC.. me recomiendan algun tutorial
« Respuesta #13 en: 07 de Enero de 2009, 15:01:40 »
Felicidades por conseguirlo Dexter Risanti.