Hola a todos, como les va?
Bueno, la idea de este tema es que cada uno vaya poniendo funciones propiamente dichas, cualquiera que tengan, hayan usado y sepan que funcione bien.
A qué me refiero con cualquiera? Controladores de display de 7 segmentos, LCD, PWM, lectores de ADC, conversores de unidades, escritura y lectura de memorias, transmisión de datos por distintos protocolos, lectores de teclado, DAC, etc. TODO, TODO a cualquiera le puede servir.
Lo ideal sería que sean funciones lo más universales posibles, cosa que uno la pueda usar en un programa propio sin modificar nada, o casi nada de ellas. De esta forma cada uno puede venir y buscar una que necesite y le sirva, copiar, pegar y seguir trabajando en lo suyo.
Que estén optimizadas lo máximo posible en cuanto a memoria y tiempo de procesamiento (sobre todo con el tema de los "delay").
Las funciones tienen que ser en C, yo preferiría que para el compilador CCS, aunque también puede ser para otros, ya que no es el único que hay. Que sean en C es indispensable, primero porque ya mucha gente lo conoce o se está adaptando a este lenguaje, y segundo que al ser de alto nivel, permite programar más fácilmente, y adaptar los programas a otras marcas de microcontroladores como ATMEL (avr), Freescale, ST, y otros.
Para subir alguna función, se tiene que poner en formato "CODE" así no hay que descargar nada y gente de afuera del foro puede usarlas también.
En el nombre del mensaje se tiene que poner básicamente el nombre de la función, y en el mensaje para qué sirve, es decir, qué recibe, qué hace y que devuelve.
Yo acá pongo una de prueba, medio boba pero es para dar una idea...
Función: binario a 7 segmentos --> Esto va en el nombre del mensaje.
Lo que hace esta función es recibir un número decimal (de 0 a 9), y devolver mediante un switch un número codificado a 7 segmentos, que más adelante se puede plasmar en un puerto de 7 bits o más para mostrar en un display.
Usa muy poca memoria y en pocas instrucciones devuelve el número codificado.
Código:
Espero que les guste la idea y que cada uno aporte sus líneas...
Un saludo.
Bueno, la idea de este tema es que cada uno vaya poniendo funciones propiamente dichas, cualquiera que tengan, hayan usado y sepan que funcione bien.
A qué me refiero con cualquiera? Controladores de display de 7 segmentos, LCD, PWM, lectores de ADC, conversores de unidades, escritura y lectura de memorias, transmisión de datos por distintos protocolos, lectores de teclado, DAC, etc. TODO, TODO a cualquiera le puede servir.
Lo ideal sería que sean funciones lo más universales posibles, cosa que uno la pueda usar en un programa propio sin modificar nada, o casi nada de ellas. De esta forma cada uno puede venir y buscar una que necesite y le sirva, copiar, pegar y seguir trabajando en lo suyo.
Que estén optimizadas lo máximo posible en cuanto a memoria y tiempo de procesamiento (sobre todo con el tema de los "delay").
Las funciones tienen que ser en C, yo preferiría que para el compilador CCS, aunque también puede ser para otros, ya que no es el único que hay. Que sean en C es indispensable, primero porque ya mucha gente lo conoce o se está adaptando a este lenguaje, y segundo que al ser de alto nivel, permite programar más fácilmente, y adaptar los programas a otras marcas de microcontroladores como ATMEL (avr), Freescale, ST, y otros.
Para subir alguna función, se tiene que poner en formato "CODE" así no hay que descargar nada y gente de afuera del foro puede usarlas también.
En el nombre del mensaje se tiene que poner básicamente el nombre de la función, y en el mensaje para qué sirve, es decir, qué recibe, qué hace y que devuelve.
Yo acá pongo una de prueba, medio boba pero es para dar una idea...
Función: binario a 7 segmentos --> Esto va en el nombre del mensaje.
Lo que hace esta función es recibir un número decimal (de 0 a 9), y devolver mediante un switch un número codificado a 7 segmentos, que más adelante se puede plasmar en un puerto de 7 bits o más para mostrar en un display.
Usa muy poca memoria y en pocas instrucciones devuelve el número codificado.
Código:
Código:
char bin_7seg (char bin) //Decodifica un número en BCD a 7seg.
{
switch (bin)
{
{
case 0:
{
return(0b01111110);
break;
}
case 1:
{
return(0b00110000);
break;
}
case 2:
{
return(0b01101101);
break;
}
case 3:
{
return(0b01111001);
break;
}
case 4:
{
return(0b00110011);
break;
}
case 5:
{
return(0b01011011);
break;
}
case 6:
{
return(0b01011111);
break;
}
case 7:
{
return(0b01110000);
break;
}
case 8:
{
return(0b01111111);
break;
}
case 9:
{
return(0b01111011);
break;
}
}
}
Espero que les guste la idea y que cada uno aporte sus líneas...
Un saludo.
Última edición: