7559|21

83

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

发个图,求教最简单的AD例子 [复制链接]

   是否只要按合适的时间间隔,对ADON置1,就可完成AD?有何其他条件?
   向大家求教。
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2008-8-19 14:27
点赞 关注
 

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

没有了。通常是查询EOC,等待转换完成。

                                  
此帖出自stm32/stm8论坛
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

我也是这么想的,但常死在“查询EOC”上,可怕。

                                  
此帖出自stm32/stm8论坛
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 

不知为何,走一个单步,EOC就变为0了。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

5
 

你可以作一个查询超时,超时即当失败处理,

你可以作一个查询超时,超时即当失败处理,
稍后重来
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

6
 

奇怪的是有AD值,就是AD完成了,EOC却=0。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 

手册上说:读ADC->DR就会把该位清零了阿

Bit 1 EOC: End of conversion
This bit is set by hardware at the end of a group channel conversion (regular or injected). It is
cleared by software or by reading the ADC_DR.
0: Conversion is not complete
1: Conversion complete
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 

楼主还是把你的程序贴出来看看吧,你是否在查询EOC=0前读过

                                 如果在查询EOC=0之前曾经读过DR寄存器,则可能会清楚EOC状态位。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 

程序就是香主的“ST的网站上有一篇关于STM32低功耗..”中的

   STM32F10x_LowPower_ANLowPower_ANPart3WFE_Stop_Flash
我跟贴过。
   我是用MCBSTM32KEIL评估板试的。
摘录如下:
void ADC_Configuration(void)
{
  /* Enable ADC1 clock */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

  /* Set the ADC Clock Divider */
  RCC_ADCCLKConfig(RCC_PCLK2_Div2); 

  /* Reset variables */
  RegularConvData = 0;

  /* ADC1 Init */
  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
  ADC_InitStructure.ADC_ScanConvMode = DISABLE;
  ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_NbrOfChannel = 1;
  ADC_Init(ADC1, &ADC_InitStructure);

  /* ADC1 Regular Channel Config */ 
  ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_1Cycles5);

  /* Enable ADC1 */
  ADC_Cmd(ADC1, ENABLE);

  /* ADC1 reset calibaration register */   
  ADC_ResetCalibration(ADC1);
  while(ADC_GetResetCalibrationStatus(ADC1));
  /* ADC1 calibaration start */
  ADC_StartCalibration(ADC1);
  while(ADC_GetCalibrationStatus(ADC1));

  /* ADC1 regular Software Start Conv */ 
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);

  /* Test EOC flag */
  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));------------A
  /* Read regular converted data and clear EOC Flag */
  RegularConvData = ADC_GetConversionValue(ADC1); 

  ADC_Cmd(ADC1, DISABLE);
}
始终停在A处。 
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 

顺便把原跟贴重写。

 我已经头疼好久了。

   我用MCBSTM32KEIL评估板试的。
   STM32F10x_LowPower_ANLowPower_ANPart3WFE_Stop_Flash
始终停在:
   while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); 
百思不解!
   好象只要是“不连续 不扫描 非外部触发”就不出EOC。

   求助!

 我现在认为Part3中的3个例子可能有错,要不就是我的软件有错。
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

禁止访问

11
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

12
 

谢谢。但奇怪,那是JTAG,不是一条路啊!遗憾。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(中级)

13
 

调试器的寄存器窗口是通过JTAG刷新显示数据

JTAG是通过内部总线读出相应的寄存器,然后显示到你的屏幕上。

你看到的不是一条路,但芯片内部却是相同的路径。如果真的不是一条路,那么这个芯片就要多出很多仅供调试的内部数据通路,势必造成芯片的面积增大、成本上升。
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

14
 

事情可能比较复杂,我没有打开ADC的register window

  但打开了memory 窗口。
  再说是“停留在A处,下不来”,不是“在断点处看不到EOC=1”。
  
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

15
 

按lut1lut的说法,关了memory 窗口,也死。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

16
 

如果memory窗口显示的区域涵盖了ADC的寄存器所在地址也会有

请先把所有的memory、register、watch窗口全部关上,再试试看。

另外,你说是“停留在A处,下不来”是如何判断的?单步?连续运行?还是设了调试断点?断点设在哪里?
此帖出自stm32/stm8论坛
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

17
 

所有的memory、register、watch窗口全部关上。

                                   仅1个断点在下一行。
此帖出自stm32/stm8论坛
 
 
 

回复

54

帖子

0

TA的资源

一粒金砂(初级)

18
 

今天下班了,人都走了,明天我们争取把这个问题搞清楚

                                 现象确实很奇怪。
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

19
 

lz用的哪个版本的芯片?

                                 Z版本的芯片,我这里试的,都好的。
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

20
 

A版本

                                  
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表