⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conversion numerica.c

📁 numeric conversion program for msp430f
💻 C
字号:
/*_____________________________________________________________________________________________________________________________________________________________________________
  conversion numerica.c
  Version 1.0             Julio 9 2008
  Declaracion de las funciones que forman la biblioteca de conversion de valores en formato hexa a decimal y viceversa
  Ubiquos Ltda.                                                                                                       Alexander Espinosa G.
  _____________________________________________________________________________________________________________________________________________________________________________*/

/*_____________________________________________________________________________________________________________________________________________________________________________
  convertir_bcd(Valor, *Buffer)
  Version 1.0             
  Esta funcion toma el parametro VAlor y lo convierte en una secuencia de bytes de 8 bits correspondiente a su valor BCD, almacenandolo
  en el Buffer, que entra como parametro
  Entradas:  Valor- entero sin signo
  Salidas: Buffer donde se almacenara el resultado, debe ser de al menos 5 posiciones
  Ubiquos Ltda.                                                                                                       Alexander Espinosa G.
  _____________________________________________________________________________________________________________________________________________________________________________*/
void convertir_bcd(unsigned int Valor,unsigned char *Buffer)
{
  *Buffer = (Valor / 10000);   Buffer++;                                      // Calcula el digito mas significativo y lo almacena
  *Buffer = (Valor % 10000) / 1000; Buffer++;                                 // estas lineas calculan los digitos intermedios     
  *Buffer = (Valor % 1000) / 100;  Buffer++; 
  *Buffer = (Valor % 100) / 10;    Buffer++; 
  *Buffer = Valor % 10;                                                       // Calcula el digito menos significativo
}
/*_____________________________________________________________________________________________________________________________________________________________________________
  convertir_hexa(*Buffer, Nro_digitos)
  Version 1.0             
  Esta funcion convierte el valor guardado en el buffer, con un numero de digitos determinado por Nro_digitos
  Entradas:  Buffer donde esta almacenado el numero decimal
            Nro_digitos: El numero de digitos que tiene el valor que se desea convertir
  Salidas: Un valor entero sin signo que corresponde al numero convertido a Hexa
  Ubiquos Ltda.                                                                                                       Alexander Espinosa G.
  _____________________________________________________________________________________________________________________________________________________________________________*/
unsigned int convertir_hexa(unsigned char *Buffer, unsigned char Nro_digitos)
{
  unsigned int Valor;                                                         // Valor resultante de la conversion
  unsigned int Multiplicador;
  unsigned char Contador_digitos;
  // Elegir el multiplicador inicial
  if(Nro_digitos==1) Multiplicador=1;
  if(Nro_digitos==2) Multiplicador=10;
  if(Nro_digitos==3) Multiplicador=100;
  if(Nro_digitos==4) Multiplicador=1000;
  if(Nro_digitos==5) Multiplicador=10000;
  Contador_digitos=0;
  Valor=0;
  do
  {
    Valor+= (*Buffer)*Multiplicador;                                          // Calcula el valor del digito de turno y lo acumula                                    
    Buffer++;                                                                 // Apuntar al proximo digito a convertir 
    Multiplicador/=10;                                                        // y prepara el multiplicador para el siguiente digito de menor significado
  }
  while(++Contador_digitos<=Nro_digitos);

  return Valor;
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -