打印

AD启动的奇怪问题

[复制链接]
2281|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
harlemjia|  楼主 | 2008-2-27 11:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, dc, ADC, ADC1, ST
今天调试了一上午STM32的AD,终于封装成了自己想要的形式,软件控制单次转换,结束时产生中断,发现了个小问题,一开始我的程序是这样的(部分)
 /* Enable ADC1 reset calibaration register */   
  ADC_ResetCalibration(ADC1);
  /* Check the end of ADC1 reset calibration register */
  while(ADC_GetResetCalibrationStatus(ADC1));

  /* Start ADC1 calibaration */
  ADC_StartCalibration(ADC1);
  /* Check the end of ADC1 calibration */
  while(ADC_GetCalibrationStatus(ADC1));
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
但是始终相应不了中断,但是当我单步运行,观察寄存器的值确实可以的,很奇怪,我想唯一能解释的就是我单步的时候单行程序之间是有延时的,于是我在
 /* Start ADC1 calibaration */
  ADC_StartCalibration(ADC1);
  /* Check the end of ADC1 calibration */
  while(ADC_GetCalibrationStatus(ADC1));
  delay();
  delay();
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
启动AD之前加了一个延时,结果程序跑起来了,看来校准之后要延时一段才能正常工作啊 。
沙发
香水城| | 2008-2-27 12:33 | 只看该作者

谢谢!我们会进一步确认

使用特权

评论回复
板凳
harlemjia|  楼主 | 2008-2-27 15:10 | 只看该作者

我的那个IO的问题你还没给我答复啊

使用特权

评论回复
地板
lut1lut| | 2008-3-3 16:34 | 只看该作者

不需要的delay阿

这里跑了一个小ADC的程序,使用中断对converted的值进行处理。中断中设置了一个断点,无论是单步还是全速跑,可以进中断,没有问题。考虑是不是中断设置不妥?

使用特权

评论回复
5
香水城| | 2008-3-3 16:39 | 只看该作者

回3楼:你说的是哪个问题呀?

请提醒一下,谢谢。

使用特权

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

本版积分规则

21

主题

197

帖子

0

粉丝