完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用ADC1 通道11的测量0-3.3v 当输入电压到70mv时测量到的电压显示3.3V
请问这个是配置问题还是什么问题? 源码: #include "ADC.h" ADC_InitTypeDef ADC_InitStructure; void ADCInit(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AIN; // GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IN_FLOAtiNG; GPIO_Init(GPIOC, GPIO_InitStructure); } void ADC_ChannelConfig(void) { ADC_InitStructure.ADC_Mode= ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode=DISABLE; ADC_InitStructure.ADC_ContinuousConvMode=ENABLE; ADC_InitStructure.ADC_ExternalTrigConv= ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel=1; ADC_Init(ADC1, ADC_InitStructure); ADC_RegularChannelConfig(ADC1,ADC_Channel_11, 1,ADC_SampleTime_1Cycles5); ADC_Cmd(ADC1,ENABLE); ADC_SoftwareStartConvCmd(ADC1,ENABLE); } u16 READAdc(void) { u16 adc; while(ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)==RESET); adc=ADC_GetConversionValue(ADC1); return adc; } |
|
相关推荐
1个回答
|
|
1. ADC通道配置:确保您已经正确配置了ADC通道11。在STM32F103ZET6中,通道11对应于PC.0引脚。 ```c ADC_InitStructure.ADC_Channel = ADC_Channel_11; ``` 2. ADC分辨率:STM32F103ZET6的ADC分辨率为12位,最大值为0xFFF(即4095)。这意味着输入电压范围为0-3.3V,对应的数字值为0-4095。请确保您在计算实际电压时使用了正确的分辨率。 3. ADC时钟配置:确保您已经正确配置了ADC的时钟。在STM32F103ZET6中,ADC时钟应为PCLK2的1/6。 ```c RCC_ADCCLKConfig(RCC_ADCCLK_PCLK2_Div6); ``` 4. ADC采样时间和扫描模式:根据您的应用需求,您可能需要调整ADC的采样时间和扫描模式。采样时间越长,测量结果越精确,但会降低ADC的转换速度。 ```c ADC_InitStructure.ADC_SampleTime = ADC_SampleTime_3Cycles; ADC_InitStructure.ADC_ScanConvMode = DISABLE; ``` 5. 校准:在开始测量之前,您可能需要对ADC进行校准。这可以通过调用`ADC_Cmd(ENABLE)`和`ADC_ResetCalibration(ENABLE)`函数来实现。 ```c ADC_Cmd(ADC1, ENABLE); while (ADC_GetResetCalibrationStatus(ADC1) != RESET); ADC_StartCalibration(ADC1); while (ADC_GetCalibrationStatus(ADC1) != RESET); ``` 6. 检查输入电压:确保您的输入电压确实为70mV。使用一个外部参考或示波器来验证输入电压。 7. 检查硬件连接:确保您的STM32开发板的PC.0引脚与输入电压正确连接。 如果在检查了以上所有方面之后,问题仍然存在,请尝试使用STM32CubeMX工具生成ADC初始化代码,以确保所有配置都是正确的。此外,您还可以查阅STM32F103ZET6的数据手册,以获取有关ADC配置的更多详细信息。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 19:45 , Processed in 0.923026 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号