中级会员
 
- 积分
- 288
- 金钱
- 288
- 注册时间
- 2018-10-30
- 在线时间
- 26 小时
|
2金钱
使用AD7606模数芯片采集电压,输入电压范围是-10V~+10V,输入为正电压时采集值正常,输入负压时,采集到的值始终不能为负值,求解???代码如下:
//*--------------------------过采样IO--------------------
#define adc_os0_1() GPIO_SetBits(GPIOB,GPIO_Pin_5)
#define adc_os0_0() GPIO_ResetBits(GPIOB,GPIO_Pin_5)
#define adc_os1_1() GPIO_SetBits(GPIOB,GPIO_Pin_6)
#define adc_os1_0() GPIO_ResetBits(GPIOB,GPIO_Pin_6)
#define adc_os2_1() GPIO_SetBits(GPIOB,GPIO_Pin_7)
#define adc_os2_0() GPIO_SetBits(GPIOB,GPIO_Pin_7)
//*------------------------复位IO-----------------------
#define adc_reset_1() GPIO_SetBits(GPIOD,GPIO_Pin_5) //高电平复位
#define adc_reset_0() GPIO_ResetBits(GPIOD,GPIO_Pin_5)
//*-----------------------ADC转换启动IO-----------------
#define convstAB_1() GPIO_SetBits(GPIOC,GPIO_Pin_8)
#define convstAB_0() GPIO_ResetBits(GPIOC,GPIO_Pin_8)
//*-----------------------RD读数据控制IO-----------------
#define adc_RD_1() GPIO_SetBits(GPIOD,GPIO_Pin_4)
#define adc_RD_0() GPIO_ResetBits(GPIOD,GPIO_Pin_4)
//*--------------------bank1,sector1起始地址---------------
#define FSMC_Base ((u32)(0x60000000))
//*------------采集值读取保存------------------------------
int16_t Read_FSMCData[8] = {0};
//*-------------已读取值转换保存---------------------------
float Data_save[8];
//*-------------------函数---------------------------------------------------
//ADC过采样设置函数
void Adc_7606_SetOS(void)
{
|
|