ad_data_manage.c

来自「24位AD压力实验板 protell99se打开」· C语言 代码 · 共 63 行

C
63
字号

#include <msp430x14x.h>

extern unsigned long int ad1240;
extern float pressure;

//========================================================================================
//函数:ulong Hex_to_BCD(ulong data)
//功能:读取AD1240积存器
//变量:Byte
//返回:无
//========================================================================================
unsigned long int Hex_to_BCD(unsigned long int data)
{
 unsigned char i;
unsigned long int  data1[10],data2=0,data3,data4;  
 data3=data;
 data4=0;
 data2=0;
 for(i=0;i<8;i++)
    {
      data2=data3/10;     
      data1[i]=data3-data2*10;
     
      data3=data2;
    }
 data4=data1[7];
 for(i=8;i>0;i--)
 {
   data4=(data4<<4)+data1[i-1];
 }
  return data4;
}
//========================================================================================
//函数:unsigned long AD_Data_Manage(unsigned long *data,unsigned char num)
//功能:读取AD1240积存器
//变量:Byte
//返回:无
//========================================================================================
unsigned char AD_Data_Manage(float *data,unsigned char num)
{
unsigned char i;
float max_data,min_data,ad_data=0;
float  *data1;

data1=data;
max_data=data1[0];
min_data=data1[0];
for(i=0;i<num;i++)
{
  ad_data=ad_data+data[i];
  if(data[i]>max_data)  max_data=data1[i];
  else 
    if(data[i]<min_data)  min_data=data1[i];
}
ad_data=ad_data-max_data-min_data;
ad_data=(float)((float)ad_data/(num-2));
pressure=ad_data;
_NOP();

return ad_data; 
}

⌨️ 快捷键说明

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