?? adtest.c.bak
字號:
#include "hardware_reg.h"
#include "my_printf.h"
#define size1 0.00122100122
extern void init_SPI(void);
extern unsigned short SPI_Transfer(unsigned short command);
typedef struct _DATA_AD2DSP /* 14bitAD2é?ˉoóêy?Y′?·?μ? */
{
float IA, IB, IC,
I0,
Ua, Ub, Uc,
VREF;
}Data_In;
Data_In data_in, datalist;
struct _AD_data
{
unsigned long IA,
IB,
IC,
I0,
Ua,
Ub,
Uc,
VREF;
}AD_data;
void read_AD(void)
{
U32 AD_sample;
int i;
init_SPI();
NOP();
SPI_Transfer(AD_START);
//read process
for (i = 0; i < 8; i++)
{
AD_sample = (SPI_Transfer(AD_READ) & 0xFFFF);
switch ((AD_sample&0xF000) >> 12)
{
case 0:
AD_data.IA = (AD_sample & 0xFFF);
break;
case 1:
AD_data.IB = (AD_sample & 0xFFF);
break;
case 2:
AD_data.IC = (AD_sample & 0xFFF);
break;
case 3:
AD_data.Ua = (AD_sample & 0xFFF);
break;
case 4:
AD_data.Ub = (AD_sample & 0xFFF);
break;
//data[i1 % 100] = AD_sample;
case 5:
AD_data.Uc = (AD_sample & 0xFFF);
break;
case 6:
AD_data.I0 = (AD_sample & 0xFFF);
break;
//i1++;
case 7:
AD_data.VREF = (AD_sample & 0xFFF);
break;
default :
break;
}
}
AD_Convert();
my_printf("datalist.Ua=%d\n\r,datalist.Ua);
my_printf("datalist.Ub=%d\n\r,datalist.Ub);
my_printf("datalist.Uc=%d\n\r,datalist.Uc);
}
void AD_Convert(void)
{
data_in.IA = AD_data.IA * size1;
data_in.IB = AD_data.IB * size1;
data_in.IC = AD_data.IC * size1;
data_in.Ua = AD_data.Ua * size1;
data_in.Ub = AD_data.Ub * size1;
data_in.Uc = AD_data.Uc * size1;
data_in.I0 = AD_data.I0 * size1;
datalist.IA = (data_in.IA - data_in.VREF)*1.05;
datalist.IB = (data_in.IB - data_in.VREF)*1.04;
datalist.IC = (data_in.IC - data_in.VREF)*1.04;
datalist.Ua = data_in.Ua - data_in.VREF;
datalist.Ub = data_in.Ub - data_in.VREF;
datalist.Uc = data_in.Uc - data_in.VREF;
datalist.I0 = (data_in.I0 - data_in.VREF)*1.04;
datalist.VREF = data_in.VREF;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -