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

fnc_usuario.h

Committer:
Javierdf
Date:
2019-09-22
Revision:
5:8e7123e9b75b
Parent:
4:a60b811bfe1e

File content as of revision 5:8e7123e9b75b:

/******************************************************************************/
/*------------------------------------------------------------------------------
Función de usuario para separar de una variable tipo entera sus digitos que la 
integran

*Parametros de entrada:
-int número: variable a la que se le van a separar sus digitos
-int *digito_a: variable apuntador(variable pasada por referencia) para almacenar
el digito de las unidades separado de la variable número
-int *digito_b: variable apuntador(variable pasada por referencia) para almacenar
el digito de las decenas separado de la variable número

*Parametro de salida: NINGUNO

------------------------------------------------------------------------------*/
void num2dig(int numero,int *digito_a,int *digito_b){//inicio de la función num2dig
    int num;//variable para almacenamiento y manipulación de el valor numerico a convertir
    int ant;//variable auxiliar para la conversión de datos
    int dummy=0;
    /*segmento de codigo no util para el trabajo, solo se incerta para eliminar warning*/
    *digito_a=dummy;    
    *digito_b=dummy;
    dummy=(*digito_a);    
    dummy=(*digito_b);
    /*fin segmento de codigo no util para el trabajo*/
    
    num=numero;//Asignación del valor de conversión para su manipulación del algoritmo
    if(num>=0x0A){//inicio if-1                                                 //Pregunta si el valor es mayor o igual a díez
        ant=num;                                                                //Guardado del valor numerico para su posterior manipulación
        num=num/0x0A;                                                           //División entre 0x0A, para conocer cuantas decenas contiene el número en cuestion
        *digito_a=(ant-num*0x0A);                                               //Almacenaje de las unidades, a partir de la eliminación de las decenas de la cantidad
        *digito_b=num;                                                          //Almacenaje de las decenas del número
        }//fin if-1
        else{//inicio else-1                                                    //Condición en caso de que el número a separar sea menor a 0x0A
            *digito_a=num;                                                      //Almacenaje de las unidades del número a separar
            *digito_b=0;                                                        //Almacenaje de la nulidad de decenas
            }//fin else-1
    }//fin de la función num2dig
/******************************************************************************/