📄 user_hanshu.c
字号:
#include<spce061a_chf.h>
#include"user_hanshu.h"
#include"bit.h"
void init_IO_AD(void)
{
PA_Dir->bit.bit0=0;
PA_Attrib->bit.bit0=1;
P0_0=1;
PA_Dir->bit.bit1=0;
PA_Attrib->bit.bit1=1;
P0_1=1;//IOA0,IOA1为悬浮式输入
}
float AD_tranfer(void)
{
float fvoltage=0.0;
unsigned int AD_value_to;
if(Line_selet(0x0003)>0xe880)
{
AD_value_to=Line_selet(0x0002);
fvoltage=(float)AD_value_to/0xffc0*3.3;
AD_value_to=Line_selet(0x0001);
fvoltage+=(float)AD_value_to/0xffc0*3.3;
}
else
{
AD_value_to=Line_selet(0x0003);
fvoltage=(float)AD_value_to/0xffc0*3.3;
}
return(fvoltage);
}
unsigned int Line_selet(unsigned int Line_num)
{
unsigned long int uiData,i;
init_IO_AD();
Set_ADC_MUX_Ctrl(Line_num);//选择通道1(IOA0)
Set_ADC_Ctrl(0x0001);//允许AD转换
uiData=Get_ADC_LineIn_Data();//通过读取P_ADC_LINEIN_Data积存器的值启动AD转换
uiData=0;
for(i=0;i<4;i++)
{
*P_Watchdog_Clear=0x01;
uiData+=AD();
}
uiData>>=2;
return(uiData);
}
unsigned int AD(void)
{
unsigned int ui_Data;
while(!(Get_ADC_MUX_Ctrl()&0x8000));
ui_Data=Get_ADC_LineIn_Data();
return(ui_Data&0xffc0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -