打印
[STM32F3]

校准无法通过

[复制链接]
830|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangchui|  楼主 | 2018-7-26 19:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, ADC, dc, IO, ni

配置代码为
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  /* ADC Channel 0 pin configuration */
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  GPIO_InitStructure.GPIO_Speed = (GPIOSpeed_TypeDef)0;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_ADC12 , ENABLE);
  /* Configure the ADC clock */
  RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div2);
  ADC_SelectCalibrationMode(ADC1, ADC_CalibrationMode_Single);
  ADC_StartCalibration(ADC1);
  
  while(ADC_GetCalibrationStatus(ADC1) != RESET );
  calibration_value = ADC_GetCalibrationValue(ADC1);
  
  ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;                                                                    
  ADC_CommonInitStructure.ADC_Clock = ADC_Clock_AsynClkMode;                    
  ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_1 ;            
  ADC_CommonInitStructure.ADC_DMAMode = ADC_DMAMode_Circular;                  
  ADC_CommonInitStructure.ADC_TwoSamplingDelay = 0;         
  ADC_CommonInit(ADC1, &ADC_CommonInitStructure);
片子为F302
沙发
dengdc| | 2018-7-26 19:53 | 只看该作者
开发板上可以吗

使用特权

评论回复
板凳
huangchui|  楼主 | 2018-7-26 19:54 | 只看该作者
在开发板上没有问题,在自己画的板上,接stlink仿真的时候停留在while(ADC_GetCalibrationStatus(ADC1) != RESET );

使用特权

评论回复
地板
wuhany| | 2018-7-26 19:56 | 只看该作者


一直死循环?

使用特权

评论回复
5
huangchui|  楼主 | 2018-7-26 19:58 | 只看该作者
对啊,ADC1输入端口电压1.6V,VDDA VSSA为3.3V。片子电源电压为3.3V。

使用特权

评论回复
6
jiahy| | 2018-7-26 19:59 | 只看该作者
外部晶振起振了吗

使用特权

评论回复
7
gongche| | 2018-7-26 20:01 | 只看该作者
对啊,是不是内部rc在工作,相关的时钟没有设置好

使用特权

评论回复
8
lizye| | 2018-7-26 20:02 | 只看该作者
下你采样多通道还是单通道?如果是多通道,请问你是用什么方式实现的?ADC+DMA??

使用特权

评论回复
9
shimx| | 2018-7-26 20:03 | 只看该作者
从你的程序中看是单通道,你最终有做多通道采样吗?

使用特权

评论回复
10
huangchui|  楼主 | 2018-7-26 20:05 | 只看该作者
就是这个原因,多谢

使用特权

评论回复
11
jiaxw| | 2018-7-26 20:07 | 只看该作者
程序有没有改动,boot0设置的如何?

使用特权

评论回复
12
huangchui|  楼主 | 2018-7-26 20:08 | 只看该作者
结贴了,多谢大家讨论这么多哈,呵呵

使用特权

评论回复
13
幸福小强| | 2018-7-26 20:48 | 只看该作者
官方的板子没问题,自己的板子有问题,想都不用想,是硬件问题

使用特权

评论回复
14
磨砂| | 2018-7-26 21:16 | 只看该作者
楼主也没说到底什么原因啊

使用特权

评论回复
15
jerow| | 2018-7-27 11:28 | 只看该作者
huangchui 发表于 2018-7-26 19:54
在开发板上没有问题,在自己画的板上,接stlink仿真的时候停留在while(ADC_GetCalibrationStatus(ADC1) !=  ...

仿真的时候,最好不用加while循环判断,很有可能就卡死在那里了。

使用特权

评论回复
16
lefeng| | 2018-7-31 16:38 | 只看该作者
相关的时钟没有设置好??

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

918

主题

12323

帖子

4

粉丝