完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
今天碰到一个奇怪的问题,开了tiM17的100ms中断,预分频99,发现以前正常采样电位器值的AD数据错误,明明是12位的AD通过调试查看变量发现采样到了6000多的值,但把预分频改为8以下则立马一切正常,我就纳闷了,两个完全不相关的配置怎么会影响,AD为DMA模式
#include "STM32f0xx.h" uint16_t ADC_ConvertedValue; //ADC转换值 void ADC_Config(void) { } int main(void) { TIM_TimeBaseInitTypeDef a; //定时器配置结构体 ADC_InitTypeDef ADC_InitStructure; //ADC配置结构体 a.TIM_Prescaler=0; //定时器预分频(定时器时钟频率=晶振频率/(TIM_Prescaler+1)) ADC_Config(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); //开启ADC时钟 ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //设置选择连续采样 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //采样数据右对齐 ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; //ADC外部边缘触发无效 ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; // 配置ADC转换分辨率 12bit ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Backward; //设置ADC扫描方向 ADC_Init(ADC1, ADC_InitStructure); //配置ADC ADC_ChannelConfig(ADC1, ADC_Channel_0, ADC_SampleTime_239_5Cycles); //配置ADC通道与采样周期 ADC_Cmd(ADC1, ENABLE); //启动ADC1 ADC_StartOfConversion(ADC1); //软件触发ADC启动转换 while (1) { ADC_ConvertedValue=ADC_GetConversionValue(ADC1); } |
|
相关推荐
1个回答
|
|
|
STM32F0R8T6定时器预分频配置影响AD采样值的原因可能是由于定时器中断和ADC采样之间的时序关系。在您的代码中,您使用了TIM17定时器的100ms中断,预分频为99。当预分频设置为较高的值时,定时器的计数周期变长,可能导致ADC采样的时序受到影响。
以下是可能的解释: 1. 当定时器预分频设置为99时,定时器的计数周期变长,可能导致ADC采样的触发时机发生变化。这可能导致ADC采样到错误的模拟信号值,从而导致采样值异常。 2. 由于STM32F0R8T6的ADC和定时器共享某些硬件资源,例如DMA通道,当定时器预分频设置较高时,可能会影响DMA传输的时序,从而导致ADC采样值异常。 为了解决这个问题,您可以尝试以下方法: 1. 调整定时器预分频值,使其在较低的范围内,以减少对ADC采样时序的影响。 2. 检查ADC采样的触发方式,确保它与定时器中断无关。您可以使用其他触发方式,如外部事件或软件触发。 3. 确保DMA传输的配置正确,以避免与定时器中断产生冲突。 4. 如果可能,尝试使用另一个定时器或ADC通道,以避免潜在的硬件冲突。 5. 在调试过程中,使用示波器或逻辑分析仪检查ADC采样和定时器中断的时序关系,以确定问题的根本原因。 希望这些建议能帮助您解决问题。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
4140 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
3228 浏览 1 评论
2753 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
2181 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
14984 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
3088浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
1897浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
2068浏览 3评论
1980浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
2170浏览 3评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 18:47 , Processed in 0.771026 second(s), Total 75, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1430