按你的意思是要用定时器启动AD中断,首先根据你需要的AD采样率来决定定时器的计数周期(比方说:你要求采样率为100Hz,而定时器的输入时钟为10MHz,那么计时周期为100000-1,假定计数器采用增计数模式,初始值为0),现在你将定时器的比较寄存器的值设为100000-1,每当定时器从0增计数到100000-1时,与比较寄存器值相等,就启动AD转换(前提是你已经设置AD启动方式为定时器启动,允许AD中断),在AD中断程序中复位计数器,使其重新从0开始计数,准备下一次中断,AD转换结果也在AD中断程序中读取,依次读结果寄存器0、1、2即可,就是你输入3个通道相应的AD转换结果,读取完结果后还要复位排序器(这一步不是必须的,看你采用哪种方式),复位的方式较简单,你每次要读的结果都是在上面所说的三个结果寄存器中。需要说明的是,平常所说的AD采样率是指启动连续两次AD转换的频率,至于AD本身的转换时间并没有考虑。至于AD转换一次需要多少时间与这只有关,也与AD本身的硬件有关,得参考他的技术指标。 我也是根据自己的经验给出的回答,不一定准确,请参考其他权威人士的说法。如有问题可继续探讨,互相学习。况且我学的DSP是28335不是2812,跟它是一个系列的,有些相似之处。
包括同步采样、准同步采样、非同步采样几种。
DSP有自带的AD采集模块,采集电压一般不超过5V。首先要确定你采集的三路电压信号电压值在什么范围;之后根据DSP中AD采集的要求进行采集 *** 作,将AD转换的数据通过相应数据总线(取决于触摸屏接口类型)送触摸屏进行显示。
for语句从AdcRegsADCRESULT0采集512个数据(电压模拟值),存于取样表SampleTable数组,同时将采样数据转换成实际电压数值,存放于dianya数组。将512个电压值求平均值,作为当时的电压值(sum先累加再平均)
然后显示出来并且延时。
整个过程无限循环(while(1){})。
以上就是关于dsp28335的adc在连续运行模式下,往soc_seq1里写1启动adc转换,那第二次转换的时候还用再往soc_seq1里写1全部的内容,包括:dsp28335的adc在连续运行模式下,往soc_seq1里写1启动adc转换,那第二次转换的时候还用再往soc_seq1里写1、DSP交流电压采样的几种方法、这段程序什么意思,怎么实现AD转换。在线等等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)