Autor Tema: Macro en XC8 para implementar "output_bit" de CCS  (Leído 1856 veces)

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

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Macro en XC8 para implementar "output_bit" de CCS
« en: 03 de Noviembre de 2017, 21:49:33 »
Se os ocurre una macro elegante en XC8, para implementar la función "output_bit(pin, estado)" del compilador CCS?

La susodicha función, por si alguien no la conoce, lo que hace es poner el pin pasado como parámetro, a '1' o '0', según se lo pasemos como el otro parámetro, esto facilitaría mucho el traducir programas de un compilador a otro  :-) :-) :-) :-)

Gracias!!! 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 KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Macro en XC8 para implementar "output_bit" de CCS
« Respuesta #1 en: 04 de Noviembre de 2017, 00:18:03 »
Me parece que seria mas problema que solucion, debido a la lejania del ANSI C que posee CCS, lo que menos me preocuparia seria algo para convertir los pines. Ademas vas a tener que definir todos los pines.

Cualquier implementacion que hagas terminaria siendo un terrible overhead para cada una de esas funciones. Ya que el "numero de pin" tendrias que obtener de que puerto se trata y de alli hacer todo lo posible para solo cambiar ese bit, esto implica bastantes rotaciones, punteros, o mas variables.

Es mas simple tener separado lo que es referente de un compilador y el micro por un lado y luego recrearlo en otro lado. Pero CCS te obliga poner sus directivas en todos los archivos que tengas.. lo cual deja de ser posible esto....

¿Se puede realizar? Si.. Es practico? Absolutamente NO

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re:Macro en XC8 para implementar "output_bit" de CCS
« Respuesta #2 en: 04 de Noviembre de 2017, 13:54:12 »
Me parece que seria mas problema que solucion, debido a la lejania del ANSI C que posee CCS, lo que menos me preocuparia seria algo para convertir los pines. Ademas vas a tener que definir todos los pines.

Cualquier implementacion que hagas terminaria siendo un terrible overhead para cada una de esas funciones. Ya que el "numero de pin" tendrias que obtener de que puerto se trata y de alli hacer todo lo posible para solo cambiar ese bit, esto implica bastantes rotaciones, punteros, o mas variables.

Es mas simple tener separado lo que es referente de un compilador y el micro por un lado y luego recrearlo en otro lado. Pero CCS te obliga poner sus directivas en todos los archivos que tengas.. lo cual deja de ser posible esto....

¿Se puede realizar? Si.. Es practico? Absolutamente NO

Ya veo, mejor poner una simple definición del pin y asignarle un cero o un uno, como se hizo toda la vida.

Gracias, 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.

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