Need info about initiation of Analog to Digital Conversion in SMAC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Need info about initiation of Analog to Digital Conversion in SMAC

1,372 Views
mou
Contributor III
Hi,
 
Can anyone provide some idea about how to initiate Analog to Digital Conversion in SMAC?
Or, can anyone provide me with some sample project developed in Codewarrior using SMAC which implements Analog to Digital Conversion?
I need it urgently.
 
Thanks and Regards,
Mou
Labels (1)
0 Kudos
3 Replies

351 Views
mou
Contributor III
Hi,
Can anyone give me any idea about the packet format for the received ADC data using SMAC in Maxstream(MC1319X_XBEE)modules?
 
Below are three samples of such ADC data packets:-
 
01 08 64 A7 FD 04 EF FF 86 DC A0 DF 0C FB 02 BD A5 FB 40 7F
02 47 FF 37 FD 04 EF FF 86 DC A0 DF 0C FB 02 BD A5 FB 40 7F
03 17 A2 7C FD 04 EF FF 86 DC A0 DF 0C FB 02 BD A5 FB 40 7F
 
Can anyone help me in this regard about what does each byte in the above packets signify/stands for?
 
Thanks and Regards,
Mou
0 Kudos

351 Views
alec
Contributor I
//**********************************************************************************
//*************** FUNCIÓN DE ADC RESOLUCIÓN 10 BITS REGISTRO ÚNICO SIN SIGNO *******
//**********************************************************************************
UINT16 ADCRead(UINT8 channel){
  
   switch (channel) {
      case 0: ATD1PE_ATDPE0 = 1; //Igual que el anterior, pero sin alterar la configuración de todo el puerto
              PTBDD_PTBDD0  = DDIR_OUTPUT; //El pin 3 del puerto b es de Entrada
              ATD1SC = 0;   //Selecciona el canal a escanear
           break;
               
      case 1: ATD1PE_ATDPE1 = 1; //Igual que el anterior, pero sin alterar la configuración de todo el puerto
              PTBDD_PTBDD1  = DDIR_OUTPUT; //El pin 3 del puerto b es de Entrada
              ATD1SC = 1;   //Selecciona el canal a escanear
           break;
               
      case 2: ATD1PE_ATDPE2 = 1; //Igual que el anterior, pero sin alterar la configuración de todo el puerto
              PTBDD_PTBDD2  = DDIR_OUTPUT; //El pin 3 del puerto b es de Entrada
              ATD1SC = 2;   //Selecciona el canal a escanear
           break;
               
      case 3: ATD1PE_ATDPE3 = 1; //Igual que el anterior, pero sin alterar la configuración de todo el puerto
              PTBDD_PTBDD3  = DDIR_OUTPUT; //El pin 3 del puerto b es de Entrada
              ATD1SC = 3;   //Selecciona el canal a escanear
           break;
               
      case 4: ATD1PE_ATDPE4 = 1; //Igual que el anterior, pero sin alterar la configuración de todo el puerto
              PTBDD_PTBDD4  = DDIR_OUTPUT; //El pin 3 del puerto b es de Entrada
              ATD1SC = 4;   //Selecciona el canal a escanear
           break;
               
      case 5: ATD1PE_ATDPE5 = 1; //Igual que el anterior, pero sin alterar la configuración de todo el puerto
              PTBDD_PTBDD5  = DDIR_OUTPUT; //El pin 3 del puerto b es de Entrada
              ATD1SC = 5;   //Selecciona el canal a escanear
           break;
               
   }
   ATD1C_ATDPU   = 1; //Habilita o deshabilita el módulo
   ATD1C_DJM     = 1; //Ajuste a la derecha o a la izquierda del registro 10bits en 16 bits
   ATD1C_RES8    = 0; //Selecciona entre 8 o 10 bits de conversión
   ATD1C_SGN     = 0; //Conversión con signo o sin signo
   ATD1C_PRS     = 0; //Preescalar factor para el reloj de conversión
   ATD1SC_ATDCO  = 1; //0=Conversión Continua 1=Conversión única
   while((ATD1SC & 0x80) != 0x80); //Espera hasta que la conversión sea completa
  
   ATD1C_ATDPU   = 0; //deshabilita el módulo para poder entrar en sleep
  
   return  ATD1RH*0XFF+ATD1RL; //El resultado queda en esta variable
}
0 Kudos

351 Views
Mads
Contributor V
Hi Mou,
 
the SMAC already contains what you are requesting.
Please download the Beekit at www.freescale.com/zigbee and install it.
then select the SMAC codebase and create an application using the Accelerometer template.
 
the Accelerometer application uses 3 ADC inputs to sample the Accelerometer located on the SRB/SARD boards.
 
BR,
Mads Westergreen
 
 
0 Kudos