打印
[应用相关]

为什么AD会卡在ADC_GetResetCalibrationStatus

[复制链接]
8736|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wakaoo|  楼主 | 2009-2-28 01:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就算用ADC的例程都会卡在while(ADC_GetResetCalibrationStatus(ADC1));和while(ADC_GetCalibrationStatus(ADC1));。请问香主这是为什么?以前初始化都没这些问题的
沙发
jcx0324| | 2009-3-29 20:31 | 只看该作者

我也想知道

我也遇见同样的问题,但是仿真的时候有时候是好的,或者是复位下又好了

使用特权

评论回复
板凳
vigia| | 2009-3-30 12:11 | 只看该作者

。。。。

估计还是调试时前一次操作所涉及到的硬件和寄存器没有复位造成的,

所以,调试时一定要保障所用硬件及其寄存器在初始化是可靠的复位,不然奇怪的问题层出不穷,耗费时间体力。

可靠复位的方法
1,外设初始化时,操作RCC->APB2RSTR和RCC->APB1RSTR寄存器,复位所使用的硬件。

2,外设初始化是调用xxx_DeInit()函数,复位硬件寄存器。


使当前调试不会被前一次的调试影响。

使用特权

评论回复
地板
alenthj| | 2009-3-30 12:15 | 只看该作者

同意楼上

建议stm32所有外设使用前,寄存器都初始化为默认值。

使用特权

评论回复
5
sjh2100| | 2018-1-26 10:26 | 只看该作者
ADC_Cmd(ADC1, ENABLE);//这里是个转折点,如果没有使能,会永远卡在这一点,死机了。。。。先开adc,在等待校验

使用特权

评论回复
6
lili12| | 2022-10-8 14:19 | 只看该作者
我也遇到了,请问这个问题解决了嘛

使用特权

评论回复
7
V853| | 2022-10-8 20:10 | 只看该作者
lili12 发表于 2022-10-8 14:19
我也遇到了,请问这个问题解决了嘛

看看是不是单片机没有真正复位。

使用特权

评论回复
8
V853| | 2022-10-8 20:11 | 只看该作者
lili12 发表于 2022-10-8 14:19
我也遇到了,请问这个问题解决了嘛

你可以进入函数看看while是一直在等待什么寄存器改变。

使用特权

评论回复
9
spark周| | 2022-10-8 22:51 | 只看该作者
复位还真是万能啊

使用特权

评论回复
10
AloneKaven| | 2022-10-9 21:21 | 只看该作者
复位搞一下

使用特权

评论回复
11
wuhany| | 2022-10-9 22:52 | 只看该作者
复位下又好了?

使用特权

评论回复
12
SantaBunny| | 2023-2-22 11:12 | 只看该作者
我们必须先配置,启动ADC,再操作这些寄存器,不然就会使ADC进入未知状态。

使用特权

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

本版积分规则

11

主题

18

帖子

0

粉丝