Autor Tema: Mi primer programa con Hi-Tech.  (Leído 6089 veces)

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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Mi primer programa con Hi-Tech.
« en: 16 de Febrero de 2011, 12:37:53 »
Os adjunto un programilla que hace parpadear un LED, en un PIC12F1822, con Hi-Tech.

Que bueno que sea gratuito este compilador de C.

Saludos.
« Última modificación: 16 de Febrero de 2011, 13:21:57 por micro_pepe »
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Mi primer programa con Hi-Tech.
« Respuesta #1 en: 16 de Febrero de 2011, 14:15:22 »
Bienvenido al club de fans de Hitech.  :mrgreen:

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Mi primer programa con Hi-Tech.
« Respuesta #2 en: 16 de Febrero de 2011, 18:26:34 »
Bienvenido al club de fans de Hitech.  :mrgreen:

Si, jeje, la idea de que sea gratuito me anima a usarlo, a parte de que si no me equivoco tiene menos bug que el ccs.

La pena es que algunos pic antiguos no vienen, como el pic16f877, y de esos tengo alguno en el "cajon de piezas".
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Mi primer programa con Hi-Tech.
« Respuesta #3 en: 16 de Febrero de 2011, 19:33:40 »
Bienvenido al club de fans de Hitech.  :mrgreen:

Si, jeje, la idea de que sea gratuito me anima a usarlo, a parte de que si no me equivoco tiene menos bug que el ccs.

La pena es que algunos pic antiguos no vienen, como el pic16f877, y de esos tengo alguno en el "cajon de piezas".

  ¿Como algunos pic antiguos no vienen? ¿Te referís a que no son soportados por el compilador?

  Yo estoy usando PIKLAb en linux y si pude programar PIC16F877
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Mi primer programa con Hi-Tech.
« Respuesta #4 en: 16 de Febrero de 2011, 19:35:15 »
HiTech es libre de bugs, sí señor.

Sí viene el PIC16F877, debes usar el archivo pic1687x.h. Mira su interior...

Código: [Seleccionar]
#ifndef _HTC_H_
#warning Header file pic1687x.h included directly. Use #include <htc.h> instead.
#endif

/*
 * Header file for the Microchip
 * PIC 16F870
 * PIC 16F871
 * PIC 16F872 chip
 * PIC 16F873 chip
 * PIC 16F874 chip
 * PIC 16F876 chip
 * PIC 16F877 chip
 * Midrange Microcontroller
 */

#if defined(_16F874) || defined(_16F877) || defined(_16F871)
#define __PINS_40
#endif

Varios PICs vienen en un solo archivo .h, es cuestión de buscarlos nadamás.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Mi primer programa con Hi-Tech.
« Respuesta #5 en: 16 de Febrero de 2011, 20:42:07 »
  Yo suelo poner

Código: C
  1. #include <htc.h>

  ... y no incluir directamente el header de un PIC específico, sino que lo selecciono desde el IDE que esté usando que en mi caso es el PIKLab.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Mi primer programa con Hi-Tech.
« Respuesta #6 en: 16 de Febrero de 2011, 21:50:38 »
  Yo suelo poner

Código: C
  1. #include <htc.h>

  ... y no incluir directamente el header de un PIC específico, sino que lo selecciono desde el IDE que esté usando que en mi caso es el PIKLab.

Mmmhh ya veo. Yo declaro el .h del PIC porque mientras programo tengo en cuenta los nombres de los registros del PIC.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Mi primer programa con Hi-Tech.
« Respuesta #7 en: 16 de Febrero de 2011, 23:39:39 »
  Yo suelo consultar los headers y los datasheet, pero la ventaja, quizá, de dejar

Código: C
  1. #include <htc.h>

  es que se puede usar el mismo programa para distintos dispositivos, con solo elegir otro PIC desde el IDE. Aunque claro, tampoco sería tanto problema cambiar la sentencia include.

  Por ejemplo, el siguiente programa se puede compilar para F84, F628 o F877 sin modificar nada. Exceptuando, claro está, configuraciones puntuales como comparadores o ADC.

Código: C
  1. #include <htc.h>
  2.  
  3. void main(void)
  4. {
  5.   TRISB = 0;
  6.   PORTB = 1;
  7.  
  8.   while (1)
  9.   {
  10.     if (PORTB != 0b10000000) PORTB = PORTB << 1;
  11.     else
  12.       PORTB = 1;
  13.   }
  14. }
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Mi primer programa con Hi-Tech.
« Respuesta #8 en: 16 de Febrero de 2011, 23:52:12 »
Es que htc.h tiene los includes de los picxxx.h, que es seleccionado por un macro creado por el IDE al seleccionar el dispositivo.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Mi primer programa con Hi-Tech.
« Respuesta #9 en: 17 de Febrero de 2011, 00:02:17 »
Es que htc.h tiene los includes de los picxxx.h, que es seleccionado por un macro creado por el IDE al seleccionar el dispositivo.


Saludos!

  Sí, lo sé, por eso uso htc.h.   :mrgreen:   De hecho, en los otros headers hay un mensaje de warning si es que se los incluye directamente y justamente el mensaje dice que en lugar de incluirlos directamente se use el htc.h
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Mi primer programa con Hi-Tech.
« Respuesta #10 en: 17 de Febrero de 2011, 09:32:46 »


  ¿Como algunos pic antiguos no vienen? ¿Te referís a que no son soportados por el compilador?

  Yo estoy usando PIKLAb en linux y si pude programar PIC16F877

Si, a eso me referia, que no son soportados por el compilador, pero ya veo que sí.

Por cierto, el ejemplo que puse no logro hacerlo funcionar en CCS, el led parpadea pero muy lento, no sé si será un bug, o que no configuro bien el oscilador interno. El caso es que en Hi-Tech mirando como se configura en el datasheet del pic funcionó a la primera.

Saludos.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Mi primer programa con Hi-Tech.
« Respuesta #11 en: 17 de Febrero de 2011, 17:36:29 »
Ya no uses CCS, es como aventarte tú mismo piedras en el camino.  :D

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Mi primer programa con Hi-Tech.
« Respuesta #12 en: 17 de Febrero de 2011, 18:35:15 »
Ya no uses CCS, es como aventarte tú mismo piedras en el camino.  :D
:D Es volver a usar algo viejo y en malas condiciones!  :D
No contesto mensajes privados, las consultas en el foro

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re: Mi primer programa con Hi-Tech.
« Respuesta #13 en: 17 de Febrero de 2011, 19:58:07 »
Ya no uses CCS, es como aventarte tú mismo piedras en el camino.  :D
:D Es volver a usar algo viejo y en malas condiciones!  :D


Primero fué CCS, luego los problemas, le siguió un bug del Winpic800, Sisco solucionó el bug pero me aconsejó usar Hi-Tech para descartar el bug mientras miraba el winpic, y descubrí que Hi-Tech no tiene bugs. Está claro que no usaré CCS de ahora en adelante  :mrgreen: :mrgreen:
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Mi primer programa con Hi-Tech.
« Respuesta #14 en: 17 de Febrero de 2011, 20:07:52 »
  Aunque CCS sea, quizá, mas amigable y tenga muchas funciones a nuestra disposición no hay que dejarse tentar por el Lado-Oscuro  :D
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas


 

anything