Algoritmo de un cronometro de conteo de horas, segundos decenas de milisegundos, a partir del miltiplexado de 6 display de 7 segmentos.

Fork of Ticker_HelloWorld by mbed_example

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers fnc_usuario.h Source File

fnc_usuario.h

00001 /******************************************************************************/
00002 /*------------------------------------------------------------------------------
00003 Función de usuario para separar de una variable tipo entera sus digitos que la 
00004 integran
00005 
00006 *Parametros de entrada:
00007 -int número: variable a la que se le van a separar sus digitos
00008 -int *digito_a: variable apuntador(variable pasada por referencia) para almacenar
00009 el digito de las unidades separado de la variable número
00010 -int *digito_b: variable apuntador(variable pasada por referencia) para almacenar
00011 el digito de las decenas separado de la variable número
00012 
00013 *Parametro de salida: NINGUNO
00014 
00015 ------------------------------------------------------------------------------*/
00016 void num2dig(int numero,int *digito_a,int *digito_b){//inicio de la función num2dig
00017     int num;//variable para almacenamiento y manipulación de el valor numerico a convertir
00018     int ant;//variable auxiliar para la conversión de datos
00019     int dummy=0;
00020     /*segmento de codigo no util para el trabajo, solo se incerta para eliminar warning*/
00021     *digito_a=dummy;    
00022     *digito_b=dummy;
00023     dummy=(*digito_a);    
00024     dummy=(*digito_b);
00025     /*fin segmento de codigo no util para el trabajo*/
00026     
00027     num=numero;//Asignación del valor de conversión para su manipulación del algoritmo
00028     if(num>=0x0A){//inicio if-1                                                 //Pregunta si el valor es mayor o igual a díez
00029         ant=num;                                                                //Guardado del valor numerico para su posterior manipulación
00030         num=num/0x0A;                                                           //División entre 0x0A, para conocer cuantas decenas contiene el número en cuestion
00031         *digito_a=(ant-num*0x0A);                                               //Almacenaje de las unidades, a partir de la eliminación de las decenas de la cantidad
00032         *digito_b=num;                                                          //Almacenaje de las decenas del número
00033         }//fin if-1
00034         else{//inicio else-1                                                    //Condición en caso de que el número a separar sea menor a 0x0A
00035             *digito_a=num;                                                      //Almacenaje de las unidades del número a separar
00036             *digito_b=0;                                                        //Almacenaje de la nulidad de decenas
00037             }//fin else-1
00038     }//fin de la función num2dig
00039 /******************************************************************************/