Autor Tema: Cursillo en C18 para PICS DESDE CERO  (Leído 300429 veces)

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

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #45 en: 30 de Mayo de 2007, 11:48:48 »
INTERRUPCIÓN POR FLANCO EXTERNO EN RB0
El pin RB0 del puerto B posee una de las interrupciónes externas por flanco, para efectuar esta característica debemos tener habilitado su correspondiente bit de interrupción, configurado su flanco y puesto como entrada el pin RB0, veamos a que bits de control nos referimos:


  • GIE: habilitación general de interrupciones.
  • INT0IE: habilitación de interrupción externa por flanco del pin RB0.
  • INT0IF: bandera que nos avisa que se produjo la interrupción externa por flanco del pin RB0.


  • INTEDG0: selecciona el flanco del pulso para la interrupción externa por flanco del pin RB0.

Programa de aplicación:
En este programa vamos a utilizar la interrupción externa en el pin RB0 configurado para un flanco de subida, en el cual cada vez que se produzca dicha interrupción cambiará el estado de los pines del PORTA.
Código: C
  1. #include <p18f2525.h>
  2. #include <stdio.h>
  3. #pragma config OSC = XT,FCMEN = OFF,IESO = OFF //CONFIG1H
  4. #pragma config PWRT = ON,BOREN = OFF,BORV = 0 //CONFIG2L
  5. #pragma config WDT = OFF,WDTPS = 32768 //CONFIG2H
  6. #pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = PORTC//CONFIG3H
  7. #pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF//CONFIG4L
  8. #pragma config CP0 = ON,CP1 = ON,CP2 = ON//CONFIG5L
  9. #pragma config CPB = ON,CPD = ON//CONFIG5H
  10. #pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON//CONFIG6L
  11. #pragma config WRTB = ON,WRTC = ON,WRTD = ON//CONFIG6H
  12. #pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON//CONFIG7L
  13. #pragma config EBTRB = ON//CONFIG7H
  14.  
  15. volatile int micro_cadaver;//variable de la interrupcion
  16. void interrupciones(void);//prototipo de la interrupción
  17.  
  18. //
  19. //******************************************************//
  20. //      Vector de Interrupcion
  21. //******************************************************//
  22. //
  23. #pragma code prioridad_nomal = 0X0008
  24. void interrupcion_normal (void)
  25. {
  26.         _asm goto interrupciones _endasm
  27. }
  28. #pragma code    //fin de la interrupcion (retfie en el ASM)
  29. //
  30. //******************************************************//
  31. //      Rutina de Interrupcion
  32. //******************************************************//
  33. //
  34. #pragma interrupt interrupciones
  35. void interrupciones(void)
  36. {
  37.         if(INTCONbits.INT0IF)       //pregunta por bandera de interrupcion
  38.         {
  39.                 PORTA=~PORTA;
  40.                 micro_cadaver++;
  41.                 INTCONbits.INT0IF = 0;  //limpia bandera y salimos
  42.         }
  43. }
  44. //
  45. //******************************************************
  46. //******************************************************
  47. //
  48. //
  49. //
  50. //******************************************************//
  51. //******************************************************//
  52. //
  53. //
  54. //              Programa Principal
  55. //
  56. //
  57. //******************************************************//
  58. //******************************************************//
  59. //
  60. void main(void)
  61. {
  62.         ADCON0 = 0X00,ADCON1 = 0X0F,CMCON = 0X07;
  63.         //puerto A con todos los pines digitales
  64.         TRISA = 0X00,TRISB = 0XFF,TRISC = 0X00;
  65.         PORTA = 0X00,PORTB = 0X00,PORTC = 0X00;
  66.         RCON = 0X00;//IPEN = 0
  67.         INTCON = 0X90;//configuramos la interrupcion externa del RB0
  68.         INTCON2 = 0X40;//configuramos el flanco de subida para la interrupcion
  69. //*******************************************************
  70. //*******************************************************
  71.         while (1);
  72. //*******************************************************
  73. //*******************************************************
  74. }


todos los archivos:h**p://www.box.net/shared/jsctdrqfdf
« Última modificación: 30 de Mayo de 2007, 12:59:49 por micro_cadaver »
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #46 en: 30 de Mayo de 2007, 12:58:22 »
INTERRUPCIÓN POR CAMBIO DE ESTADO EN EL PUERTO B
El puerto B posee una interrupción por cambio de estado en los pines RB4, RB5, RB6 y RB7, los cuales deben ser configurados como entradas para su aplicación, además de los siguientes bits de control:


  • GIE: habilitación general de interrupciones.
  • RBIE: habilitación de interrupción por cambio de estado.
  • RBIF: bandera que nos avisa que se produjo la interrupción por cambio de estado.


  • /RBPU: habilita las resistencias de pull-up en todo el puerto B.

Las resistencias de pull-up son unas resistencias internas que permiten tener un pin del puerto B como entrada y sin conexión, de esta manera cuando medimos esta entrada observaremos que tiene 5V lo que no sucede con otros pines que siendo entrada y estando al aire nos marca un valor aleatorio, las pull-up participan en la implementación de teclados, botoneras, etc; para este programa no será necesario su uso.

Programa de aplicación:
En este programa cambiaremos el estado de los pines de salida del puerto A conforme se produzca un cambio en las entradas RB4-RB7 del puerto B. Se implemento un truquito porque el proteus se me rayaba con esta interrupción, si quieren intenten quitándo esto del programa:

      //*******************************
      //truquito para el proteus jijiji   
      _asm    MOVF   PORTB,0,ACCESS   _endasm
      //no implemententar en la realidad
      //********************************

Código: C
  1. #include <p18f2525.h>
  2. #include <stdio.h>
  3. #pragma config OSC = XT,FCMEN = OFF,IESO = OFF //CONFIG1H
  4. #pragma config PWRT = ON,BOREN = OFF,BORV = 0 //CONFIG2L
  5. #pragma config WDT = OFF,WDTPS = 32768 //CONFIG2H
  6. #pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = PORTC//CONFIG3H
  7. #pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF//CONFIG4L
  8. #pragma config CP0 = ON,CP1 = ON,CP2 = ON//CONFIG5L
  9. #pragma config CPB = ON,CPD = ON//CONFIG5H
  10. #pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON//CONFIG6L
  11. #pragma config WRTB = ON,WRTC = ON,WRTD = ON//CONFIG6H
  12. #pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON//CONFIG7L
  13. #pragma config EBTRB = ON//CONFIG7H
  14.  
  15. volatile unsigned int micro_cadaver;//variable de la interrupcion
  16. void interrupciones(void);//prototipo de la interrupción
  17.  
  18. //
  19. //******************************************************//
  20. //      Vector de Interrupcion
  21. //******************************************************//
  22. //
  23. #pragma code prioridad_nomal = 0X0008
  24. void interrupcion_normal (void)
  25. {
  26.         _asm goto interrupciones _endasm
  27. }
  28. #pragma code    //fin de la interrupcion (retfie en el ASM)
  29. //
  30. //******************************************************//
  31. //      Rutina de Interrupcion
  32. //******************************************************//
  33. //
  34. #pragma interrupt interrupciones
  35. void interrupciones(void)
  36. {
  37.         if(INTCONbits.RBIF)       //pregunta por bandera de interrupción
  38.         {
  39.                 PORTA=~PORTA;
  40.                 micro_cadaver=1;
  41.                 while(micro_cadaver!=0)
  42.                         micro_cadaver++;
  43.                 //*******************************
  44.                 //truquito para el proteus jijiji      
  45.                 _asm    MOVF    PORTB,0,ACCESS  _endasm
  46.                 //no implemententar en la realidad
  47.                 //********************************
  48.                 INTCONbits.RBIF = 0;  //limpia bandera y salimos
  49.                 //*******************************
  50.                 //truquito para el proteus jijiji      
  51.                 _asm    MOVF    PORTB,0,ACCESS  _endasm
  52.                 //no implemententar en la realidad
  53.                 //********************************
  54.         }
  55. }
  56. //
  57. //******************************************************
  58. //******************************************************
  59. //
  60. //
  61. //
  62. //******************************************************//
  63. //******************************************************//
  64. //
  65. //
  66. //              Programa Principal
  67. //
  68. //
  69. //******************************************************//
  70. //******************************************************//
  71. //
  72. void main(void)
  73. {
  74.         ADCON0 = 0X00,ADCON1 = 0X0F,CMCON = 0X07;
  75.         //puerto A con todos los pines digitales
  76.         TRISA = 0X00,TRISB = 0XFF,TRISC = 0X00;
  77.         PORTA = 0X00,PORTB = 0X00,PORTC = 0X00;
  78.         RCON = 0X00;//IPEN = 0
  79.         INTCON = 0X88;//configuramos la interrupcion por cambio de estado RB4-RB7
  80.         INTCON2 = 0X80;//deshabilitamos las pull-up
  81. //*******************************************************
  82. //*******************************************************
  83.         while (1);
  84. //*******************************************************
  85. //*******************************************************
  86. }



todos los archivos:h**p://www.box.net/shared/mhq51j2giq
« Última modificación: 30 de Mayo de 2007, 13:02:56 por micro_cadaver »
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado barg

  • PIC10
  • *
  • Mensajes: 45
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #47 en: 01 de Junio de 2007, 07:16:06 »
Magnifico trabajo micro_cadaver!!!!Aun estoy haciendo ejemplitos faciles pero con la ayuda que me estas prestando en este hilo ya mismo me pongo con las interrupciones, jeje.

Queria hacer una pregunta.Estaba acostumbrado que en CCS podias definir los bits de los puertos como variables y trabajar con ellos con una mayor facilidad al ponerles nombres relacionados con lo que hacen.Esto se puede hacer en C18?Por ejemplo, como puedo decirle al bit 0 del puerto B que se ponga a 1 sin tener que definir el puerto entero?Para que me entendais mejor os pongo un ejemplo de lo que hacia en CCS.

#byte PORTA = 0xF80
#byte PORTB = 0xF81

#bit SEN1 = 0XF80.0
#bit SENTIDO1 = 0xF81.6
#bit SENTIDO2 = 0xF81.7
.
.
.
if (SEN1==1){
     SENTIDO1 = 0;
     SENTIDO2 = 1;
} else {
     SENTIDO1 = 1;
     SENTIDO2 = 0;
}

Espero que se entienda bien lo que quiero decir y que me podais indicar como se hace esto en C18. :-/ :-/

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #48 en: 01 de Junio de 2007, 10:46:32 »
claro que si amigo barq ( :mrgreen: gracias por tus comentarios, no siento merecerlos pero... muchas gracias :-)) mira, si revisas
el archivo h de tu respectivo pic ahi encontraras la definición para cada bit, también lo puedes hacer en el programa asi:

#define         led_puerto_B          LATBbits.LATB0  //donde el pin RA0 es led_puerto_B estando como salida

aca pongo una imagen del programa modificado para tu pregunta:


en el C18 puedes encontrar la ruta de la carpeta H  sin mas problemas  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #49 en: 01 de Junio de 2007, 11:49:27 »
Solo palabras de felicitacion a mi compatriota Henry (Microcadaver)  :mrgreen:te esta quedando de lujo este tutorial espero continues ,
a una pregunta tonta con que cristal estas trabajando pues tengo un pic18f448 para practicar y no quedarme

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #50 en: 01 de Junio de 2007, 12:59:08 »
 :mrgreen: gratcie

con 4mhz fernando
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #51 en: 01 de Junio de 2007, 21:07:08 »
INTERRUPCIÓN POR FLANCO EXTERNO EN RB1 Y EN RB2
Los pines RB1 y RB2 del puerto B poseen interrupciónes externas por flanco INT1 e INT2 respectivamente, para efectuar esta característica debemos tener habilitado su correspondiente bit de interrupción, configurado su flanco y puesto como entrada los pines RB1 y RB2, veamos a que bits de control nos referimos:


  • GIE: habilitación general de interrupciones.


  • INTEDG1: selecciona el flanco del pulso para la interrupción externa por flanco del pin RB1.
  • INTEDG2: selecciona el flanco del pulso para la interrupción externa por flanco del pin RB2.


  • INT1IE: habilita la interrupción externa por flanco del pin RB1.
  • INT2IE: habilita la interrupción externa por flanco del pin RB2.
  • INT1IF: bandera de la interrupción externa por flanco del pin RB1.
  • INT2IF: bandera de la interrupción externa por flanco del pin RB2.


Programa de aplicación:
En este programa vamos a utilizar las interrupciónes externas en el pin RB1 y en el pin RB2 configurando un flanco de subida para el INT1 y un flanco de bajada para el INT2, en el cual cada vez que se produzca la interrupción del INT1 cambiará el estado de los pines del PORTA y cada vez que se produzca la interrupción del INT2 cambiará el estado de los pines del PORTC.

Código: C
  1. #include <p18f2525.h>
  2. #include <stdio.h>
  3. #pragma config OSC = XT,FCMEN = OFF,IESO = OFF //CONFIG1H
  4. #pragma config PWRT = ON,BOREN = OFF,BORV = 0 //CONFIG2L
  5. #pragma config WDT = OFF,WDTPS = 32768 //CONFIG2H
  6. #pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = PORTC//CONFIG3H
  7. #pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF//CONFIG4L
  8. #pragma config CP0 = ON,CP1 = ON,CP2 = ON//CONFIG5L
  9. #pragma config CPB = ON,CPD = ON//CONFIG5H
  10. #pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON//CONFIG6L
  11. #pragma config WRTB = ON,WRTC = ON,WRTD = ON//CONFIG6H
  12. #pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON//CONFIG7L
  13. #pragma config EBTRB = ON//CONFIG7H
  14.  
  15. volatile int micro_cadaver;//variable de la interrupcion
  16. volatile int mono_cadaver;//variable de la interrupcion
  17.  
  18. void interrupciones(void);//prototipo de la interrupción
  19.  
  20. //
  21. //******************************************************//
  22. //      Vector de Interrupcion
  23. //******************************************************//
  24. //
  25. #pragma code prioridad_nomal = 0X0008//posicion para modo compatibilidad de interrupciones 16FXXXX
  26. void interrupcion_normal (void)
  27. {
  28.         _asm goto interrupciones _endasm
  29. }
  30. #pragma code    //fin de la interrupcion (retfie en el ASM)
  31. //
  32. //******************************************************//
  33. //      Rutina de Interrupcion
  34. //******************************************************//
  35. //
  36. #pragma interrupt interrupciones
  37. void interrupciones(void)
  38. {
  39.         if(INTCON3bits.INT1IF)       //pregunta por bandera de interrupción
  40.         {
  41.                 PORTA=~PORTA;
  42.                 micro_cadaver++;
  43.                 INTCON3bits.INT1IF = 0;  //limpia bandera y salimos
  44.         }
  45.         if(INTCON3bits.INT2IF)       //pregunta por bandera de interrupción
  46.         {
  47.                 PORTC=~PORTC;
  48.                 mono_cadaver--;
  49.                 INTCON3bits.INT2IF = 0;  //limpia bandera y salimos
  50.         }
  51. }
  52. //
  53. //******************************************************
  54. //******************************************************
  55. //
  56. //
  57. //
  58. //******************************************************//
  59. //******************************************************//
  60. //
  61. //
  62. //              Programa Principal
  63. //
  64. //
  65. //******************************************************//
  66. //******************************************************//
  67. //
  68. void main(void)
  69. {
  70.         ADCON0 = 0X00,ADCON1 = 0X0F,CMCON = 0X07;
  71.         //puerto A con todos los pines digitales
  72.         TRISA = 0X00,TRISB = 0XFF,TRISC = 0X00;
  73.         PORTA = 0X00,PORTB = 0X00,PORTC = 0X00;
  74.         RCON = 0X00;//IPEN = 0
  75.         INTCON = 0X80;//configuramos la interrupcion general GIE
  76.         INTCON2 = 0X20; //flanco de subida para la interrupcion en RB1
  77.                                         //flanco de bajada para la interrupcion en RB2
  78.         INTCON3 = 0X18;//configuramos la interrupcion externa del RB1 y RB2
  79. //*******************************************************
  80. //*******************************************************
  81.         while (1);
  82. //*******************************************************
  83. //*******************************************************
  84. }


todos los archivos:h**p://www.box.net/shared/sgfve0uocs
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #52 en: 01 de Junio de 2007, 21:31:59 »
bueno ... le pido publicamente a kedutpic (JUAN VEGA COD:666XXX666)  :D  que vaya implementando un circuito para probar la EUSART del pic18f2550, la siguiente entrega sera esa, pero pa el 18f2525  :-) que es casi lo mismo, los mismo pines etc etc, jiji asi que vayan repasando, de paso yo tambien  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #53 en: 02 de Junio de 2007, 00:34:55 »
AL PONER ESTE CODIGO
#include <p18f2525.h>
#include <delays.h>
#include <stdio.h>
#pragma config OSC = XT,FCMEN = OFF,IESO = OFF //CONFIG1H
#pragma config PWRT = ON,BOREN = OFF,BORV = 0 //CONFIG2L
#pragma config WDT = OFF,WDTPS = 32768 //CONFIG2H
#pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = PORTC//CONFIG3H
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF//CONFIG4L
#pragma config CP0 = ON,CP1 = ON,CP2 = ON//CONFIG5L
#pragma config CPB = ON,CPD = ON//CONFIG5H
#pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON//CONFIG6L
#pragma config WRTB = ON,WRTC = ON,WRTD = ON//CONFIG6H
#pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON//CONFIG7L
#pragma config EBTRB = ON//CONFIG7H
void main(void){   
      TRISA = 0X00;   
      TRISB = 0X00;   
      TRISC = 0X00;
//*******************************************************
//*******************************************************
      while(1){      
            LATA = 0X01;   
            LATB = 0X01;      
            LATC = 0X01;
            Delay10KTCYx(20);//200 mseg   
            LATA = 0X00;   
            LATB = 0X00;
            LATC = 0X00;
            Delay10KTCYx(20);//200 mseg   
      }
//*******************************************************
//*******************************************************
   }
ME SALE LO SIGUIENTE

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\C18\bin\mcc18.exe" -p=18F2525 "PININO1.C" -fo="PININO1.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
D:\FERNANDO\PC18\PININO1\PININO1.C:5:Error [1225] configuration value '0' not recognized for configuration setting 'BORV'
D:\FERNANDO\PC18\PININO1\PININO1.C:7:Error [1224] configuration setting 'LPT1OSC' not recognized
D:\FERNANDO\PC18\PININO1\PININO1.C:8:Error [1224] configuration setting 'XINST' not recognized
Halting build on first failure as requested.
BUILD FAILED: Fri Jun 01 22:32:14 2007

como se puede solucionar hay que direccionar algo pero como o donde que presionar la verdad no encuentro algun cambio para poder hacerlo:shock:

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #54 en: 02 de Junio de 2007, 00:41:17 »
has seleccionado el pic 18f2525 en la pestaña CONFIGURE luego en SLECT DEVICE? debe esatr apuntado al 18f2525  :mrgreen:

pd: para cuando he modificado este mensaje , electronanado (Fernando) ya tiene su C18 compilando y simulando!!!!
« Última modificación: 02 de Junio de 2007, 04:09:40 por micro_cadaver »
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado electronando

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 427
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #55 en: 02 de Junio de 2007, 13:13:26 »
Y de nuevo mil gracias publicas a mis compatriotas Henry y Curio pues despues de una caotica lucha tratando de configurar
y demas trabas logre compilar los ejemploq e Henry(uCADAVER) esta posteando , a decirles a los foreros Henry que si simulan en proteus ponerle el voltaje de 5 voltios en el pic 18f2525 en el MCLR si no no arranca chaufa y mil gracias de nuevo :-/

Desconectado Kedutpic

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 219
    • Microelectronica
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #56 en: 02 de Junio de 2007, 23:46:50 »
bueno ... le pido publicamente a kedutpic (JUAN VEGA COD:666XXX666)  :D  que vaya implementando un circuito para probar la EUSART del pic18f2550, la siguiente entrega sera esa, pero pa el 18f2525  :-) que es casi lo mismo, los mismo pines etc etc, jiji asi que vayan repasando, de paso yo tambien  :-/

Ya normal  :P me leistes la mente, justo estaba preparando todo el hadware necesario para el USART  :mrgreen:

Y de nuevo mil gracias publicas a mis compatriotas Henry y Curio pues despues de una caotica lucha tratando de configurar
y demas trabas logre compilar los ejemploq e Henry(uCADAVER) esta posteando , a decirles a los foreros Henry que si simulan en proteus ponerle el voltaje de 5 voltios en el pic 18f2525 en el MCLR si no no arranca chaufa y mil gracias de nuevo :-/

 :) me alegra mucho que te hayas podido lograrlo  :mrgreen: para eso estamos para ayudarnos es el espiritu picmaniatico  :D  :D
Actel  -  VHDL un nuevo mundo por descubrir :D
Grupo de Microelectronica - CIDI - UTP
Visitanos en : http://ue.accesus.com

Desconectado barg

  • PIC10
  • *
  • Mensajes: 45
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #57 en: 04 de Junio de 2007, 08:45:19 »
Hola amigos!!!

Desde luego, este post cada vez tiene mas nivel.Y me da verguenza hacer mis preguntas que son bastante basicas.Pero bueno, espero que con trabajo, vuestra ayuda y este post pueda acabar sabiendo programar un pic con C18.

He estado buscando informacion sobre los tipos de variables que se pueden implementar y no he visto por ningun lado el tipo boolean.¿Es que no se puede utilizar en C18?Y si son validos,¿se puede hacer arrays de booleanos?

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #58 en: 04 de Junio de 2007, 10:08:36 »
m........... buena preguntio tio, creo que si se puede, dejame revisar una plancha que llego a mis manos y lo publico  :-/
jjeej no tengo nada sobre arrays de booleanos, aunque tal vez en realidad no tenga implementado una libreria dedicada a arrays de booleanos, pues si permite trabajar con bits como se vio en el post #48 de este hilo, voy a seguir buscando...

mira este hilo
http://www.todopic.com.ar/foros/index.php?topic=15860.0
hay que sacar conclusiones :)
« Última modificación: 04 de Junio de 2007, 10:40:53 por micro_cadaver »
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Cursillo en C18 para PICS DESDE CERO
« Respuesta #59 en: 06 de Junio de 2007, 20:56:04 »
aprovechar este dia de paz y sosiego para apuntar algo sobre el modulo EUSART que tiene la gamma 18FXXX. Lo malo es que de entre lo que he leido en el datasheet del 18F2525, me habla de que ahora el EUSART tambien puede generar caracteres de sincronismos del bus LIN, ?¿?¿?¿  :? si alguien sabe que vaya posteando algo de info, yo mientras tambien ire en busqueda de saber que es y para que sirve, fuera de eso tb lei que puede despertar del SLEEP por recepción del eusart, tambien es más preciso en el baudiaje (asi se escribe  :mrgreen:  ? ), fuera de esos puntos no ha cambiado más, y su uso como lo tenemos acostumbrado es igual incluso la sequencia de codigo es similar a la de la gama 16FXXX.
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com


 

anything