STM32仿真ADC

2019-07-14 19:21发布

本帖最后由 追风逐月 于 2017-8-8 14:38 编辑

今天用软件仿真ADC,但是程序一直停在等待AD转换标志处while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));,采集通道IN0上已经加了一个正弦波,其它设置都没问题,软件触发也正常,但是转换数据寄存器一直是0,看寄存器状态显示是硬件开始转换标志STRT一直无变化,也就是说AD接收到软件触发后根本没有开始转换,所以转换完成标志位EOC也一直没有置位。但是为什么无法转换呢?硬件开始转换的标志位STRT为什么没有置位呢?难道用软件仿真还有什么区别于试验板的设置?我的程序是按照有试验板写的。
还有就是执行ADC_SoftwareStartConvCmd(ADC1, ENABLE);后,软件触发标志SWSTART和外部触发事件标志EXTTRIG都被置1,难道是EXTTRIG置1后要等到外部触发才能开始AD转换?但是明明我的函数是用软件触发啊,怎么EXTTRIG也会被置1呢?
如图: 屏幕截图(76).png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
Night1ngale
1楼-- · 2019-07-15 18:27
如果没人能帮到你的话,你告诉我STM32的型号,库函数的代码不是特别擅长,我得去帮你查查看。
Night1ngale
2楼-- · 2019-07-15 22:35
如果没人能帮到你的话,你告诉我STM32的型号,库函数的代码不是特别擅长,我得去帮你查查看。
追风逐月
3楼-- · 2019-07-16 00:13
 精彩回答 2  元偷偷看……

一周热门 更多>