void adc_one_short_demo(void)
{
Pad_Config(P2_0, PAD_SW_MODE, PAD_IS_PWRON, PAD_PULL_NONE, PAD_OUT_DISABLE,
PAD_OUT_LOW);
//open clock
RCC_PeriphClockCmd(APBPeriph_ADC, APBPeriph_ADC_CLOCK, ENABLE);
ADC_InitTypeDef ADC_InitStruct;
ADC_StructInit(&ADC_InitStruct);
ADC_InitStruct.ADC_SchIndex[0] = EXT_SINGLE_ENDED(0);
ADC_InitStruct.ADC_Bitmap = 0x01;
//Add other initialization parameters here.
ADC_Init(ADC, &ADC_InitStruct);
ADC_INTConfig(ADC, ADC_INT_ONE_SHOT_DONE, ENABLE);
#define DELAY_TIME (100000*100)
while(1)
{
ADC_Cmd(ADC, ADC_ONE_SHOT_MODE, ENABLE);
while(ADC_GetINTStatus(ADC, ADC_INT_ONE_SHOT_DONE) == RESET);
uint16_t raw_data = 0;
raw_data = ADC_ReadAvgRawData(ADC);
DBG_DIRECT("adc value:%d\n",raw_data);
for (uint32_t i = 0; i < DELAY_TIME; i++);
}
}
RTL8762DW电压检测DEMO
最新推荐文章于 2024-05-23 17:53:43 发布