直奔主题吧,我使用的是STM32F103C8T6芯片,需要设计双ADC规则同步模式并且利用中断读取ADC的值,我的初始化代码如附件图片。据我所知,当两个ADC设置为规则同步模式时,ADC1采集的数据会传输给DR寄存器的低16位,而ADC2采集的数据会传输给DR寄存器的高16位。然后我现在遇见的问题是:ADC2(我设置的是通道1)可以正常采集到模拟信号,也就是DR寄存器的高16位有数据;ADC1(我设置的是通道2)却无法读取到该IO口的模拟信号(确定有信号输入)准确来说是一直维持在1.6V不随外界输入信号的变化而变化。对于这个问题我怀疑是我写的ADC的初始化程序存在一些问题,希望写过类似程序的大神能帮我看看是否存在问题,先行谢过了!!~~
PS:在线等。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
ADC_SoftwareStartConvCmd(ADC1, ENABLE);
这一句代码要写在这一句
ADC_ExternalTrigConvCmd(ADC2, ENABLE);
的后面。
虽然我还不知道为什么,但是问题已经解决了。
一周热门 更多>