有关ADC读取很诡异的事
在ADC中断中先清除ADC中断标志位并关闭ADC时读取的ADC值为0;
如果是先读取ADC值在关闭ADC就正常,请问关闭ADC后ADC的转换值是不是不能读取了?
ADC我是1分钟转换一次
读走,再关ADC的电源,或者用DMA来支持ADC
===以后先将具体MCU型号
神农鼎 发表于 2023-3-24 11:16
读走,再关ADC的电源,或者用DMA来支持ADC
===以后先将具体MCU型号
stc8h8k64u 如果要关闭ADC电源,必须先读取ADC转换结果
否则,一旦关闭ADC电源后,ADC转换结果寄存器的值就会被复位为0 楼主的现象正常的,因为你关闭了ADC电源了。一旦关闭ADC电源,ADC模块失电,读到0是正常的。
楼主应该先读取值,之后关闭。
还要记住,每次打开ADC电源,要等待至少1ms之后再启动ADC转换,否则你又会碰到很诡异的事。
这世间所有的ADC,不管是单独的ADC芯片还是MCU自带的ADC外设,开启之后都要延时一定时间(依据IC不用需要1ms~几百ms不等),才能转换的,ADC是典型的模拟电路,也需要供电,允许给ADC模拟电路供电的电源供电后,还是要加点等待时间,等专门给ADC供电的电源稳定下来,再操作ADC。 如果一直开着ADC电源,对AD转换有影响吗? 社区闲人 发表于 2023-3-24 15:13
如果一直开着ADC电源,对AD转换有影响吗?
没影响,相反如果关闭ADC电源的话,下次打开后需要等待1ms才能进行ADC转换。 我读ADC_CH2和ADC_CH3(DMA、中断,查询都试了),只能读到ADC_CH3,如果我把电源够到ADC_CH3能采集到,但是ADC_CH2会跟着变化,电源够到ADC_CH2,两个通道都没有变化 独风轻扬 发表于 2024-5-7 22:59
我读ADC_CH2和ADC_CH3(DMA、中断,查询都试了),只能读到ADC_CH3,如果我把电源够到ADC_CH3能采集到,但是AD ...
你可以先测试下官方的多通道ADC程序,串口返回结果。
页:
[1]