Autor Tema: Curso de C, C++ para micros FreeScale  (Leído 19899 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado cdrpo

  • PIC18
  • ****
  • Mensajes: 317
Re: Curso de C, C++ para micros FreeScale
« Respuesta #15 en: 09 de Agosto de 2009, 12:36:24 »
La idea del foro es compartir informacion, no venderla
« Última modificación: 11 de Agosto de 2009, 15:39:50 por cdrpo »

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Curso de C, C++ para micros FreeScale
« Respuesta #16 en: 09 de Agosto de 2009, 14:01:28 »
:8} :8}

No podre practicar con este programador pues mi portátil ya no tiene el obsoleto puerto serial, y con un adaptador de USB a RS232 no funciona, pues CodeWarrior no lo reconoce, solo Freescale nos puede ayudar haciendo que CW reconozca los puertos virtuales creados por un adaptador

Y por que no construis el TBLDM o el USBDML? yo lo acabo de realizar y no presenta complicaciones para hacerlo?
LAS MALVINAS SON ARGENTINAS!

Desconectado cdrpo

  • PIC18
  • ****
  • Mensajes: 317
Re: Curso de C, C++ para micros FreeScale
« Respuesta #17 en: 20 de Agosto de 2009, 10:02:08 »
 :-)
Estoy probando los ejemplos del libro de programación de sistemas embebidos en C , pag. 193, pero el siguiente ejemplo genera un fallo al declarar la variable externa,
Por favor quien me ayuda a descubrir el por que falla  :?:

El programa realiza la lectura de un pulsador Input-1, y enciende un led OUT-2 solo al presionarse, si es presionada mas de 5 veces el led de OUT-1 se enciende

Gracias

Código: C++
  1. //***************** Ejemplo 10, archivo main.c ******************
  2. //  Uso del modificador "extern"
  3. // ...
  4.  
  5. #include <hidef.h>
  6. #include <MC68HC908AP64A.h>
  7. #include "teclado.h"
  8. #include "visual.h"
  9.  
  10.  
  11. #define NRO_PRESS_MAX 5
  12.  
  13. unsigned char nro_presiones; //declaracion real de la variable nro_presiones
  14.  
  15.  
  16. void main(void) {
  17.   CONFIG1_COPD = 1     //deshabilita el COP
  18.   EnableInterrupts;
  19.  
  20.   OUT_1_Off();      
  21.   for(;;) {
  22.     Verif_Teclado();
  23.     if(nro_presiones > NRO_PRESS_MAX){
  24.       OUT_1_On();      
  25.     }
  26.   }
  27. }
  28. //****************************************



Código: C++
  1. //***************** Ejemplo 10, archivo teclado.c ******************
  2.  
  3. #include <hidef.h>
  4. #include "derivative.h"
  5. #include "teclado.h"
  6. #include "visual.h"
  7.  
  8. #define Key_Press() !PTD_PTD1
  9.  
  10. //declaracion ficticia de la variable nro_presiones
  11. extern unsigned char nro_presiones=0;
  12.  
  13. void Verif_Teclado(void){
  14. static char tecla_st=0;
  15.  
  16.   if(tecla_st){
  17.  
  18.     if(!Key_Press()){
  19.       tecla_st = 0;
  20.       OUT_2_Off();
  21.       nro_presiones = nro_presiones + 1;
  22.     }
  23.   }
  24.   else{
  25.  
  26.     if(Key_Press()){
  27.       OUT_2_On();
  28.       tecla_st = 1;
  29.  
  30.     }
  31.   }
  32. }
  33. //****************************************

Código: C++
  1. //***************** Ejemplo 10, archivo teclado.h ******************
  2. void Verif_Teclado(void);
  3. //****************************************


Código: C++
  1. //***************** Ejemplo 10, archivo visual.h ******************
  2. #define OUT_1_On() PTC_PTC3 = 1;DDRC_DDRC3 = 1
  3. #define OUT_1_Off() PTC_PTC3 = 0;DDRC_DDRC3 = 1
  4. #define OUT_2_On() PTC_PTC2 = 1;DDRC_DDRC2 = 1
  5. #define OUT_2_Off() PTC_PTC2 = 0;DDRC_DDRC2 = 1
  6. //****************************************

Código: C++
  1. //***************** Ejemplo 10, archivo visual.h ******************
  2. void visual(void);
  3. void visual(void){}
  4. //****************************************


« Última modificación: 21 de Agosto de 2009, 09:04:10 por cdrpo »

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Curso de C, C++ para micros FreeScale
« Respuesta #18 en: 20 de Agosto de 2009, 10:59:39 »
Hola, al declarar una variable con extern no puede tener inicializador por eso el error, no la inicializes y el compilador automaticamente le pondra 0 antes de llamar al main.

Saludos !

Desconectado cdrpo

  • PIC18
  • ****
  • Mensajes: 317
Re: Curso de C, C++ para micros FreeScale
« Respuesta #19 en: 21 de Agosto de 2009, 09:09:58 »
Gracias,  has encontrado el error

extern unsigned char nro_presiones=0; // no puede ser inicializada en cero en el archivo teclado.c

El ejemplo anterior lo copie del libro y tiene el error, la editorial alfaomega debería tener una "Fe de erratas" para mejorar la retroalimentacion usuario-autor-editorial

Probando los siguientes ejemplos del libro ...

Desconectado arturo garzon

  • PIC10
  • *
  • Mensajes: 1
Re: Curso de C, C++ para micros FreeScale
« Respuesta #20 en: 13 de Enero de 2010, 19:28:15 »
hola a todos ,disculpen quisiera saber si alguien sabe de una version pdf de los libros recomendados ps para descargarla, de antemano gracias

Desconectado fnelson

  • PIC10
  • *
  • Mensajes: 1
Re: Curso de C, C++ para micros FreeScale
« Respuesta #21 en: 08 de Febrero de 2010, 20:28:46 »
hola disculpen, alguien tiene el nombre del libro que dicen para programar hc 08 en C, si es asi pueden pasarmelo y si existe una pagina donde comprarlo o alguna version en pdf

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Curso de C, C++ para micros FreeScale
« Respuesta #22 en: 09 de Febrero de 2010, 11:29:50 »
Hola,

Los libros son editorial ALFAOMEGA, puedes buscar una tienda de libros y pregunta por ellos, si no los tienen, seguro te los consiguen.

SALUDOS!

PD: Tampoco hay pdf para descarga.


 

anything