[ZLG-ARM] 关于ad例子的算法

[复制链接]
2299|2
 楼主| jhycl 发表于 2007-3-1 08:24 | 显示全部楼层 |阅读模式
ADdata&nbsp;=&nbsp;ADDR;<br />ADdata&nbsp;=&nbsp;(ADdata&gt&gt6)&nbsp;&&nbsp;0x3FF;<br />ADdata&nbsp;=&nbsp;ADdata&nbsp;*&nbsp;3300;&nbsp;<br />ADdata&nbsp;=&nbsp;ADdata&nbsp;/&nbsp;1024;<br /><br />这个是lpc2210教程里ad的例子,不太明白这个算法,请大侠帮忙解释下<br />
computer00 发表于 2007-3-1 09:12 | 显示全部楼层

re

ADdata&nbsp;=&nbsp;ADDR;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//读回数据<br />ADdata&nbsp;=&nbsp;(ADdata&gt&gt6)&nbsp;&&nbsp;0x3FF;&nbsp;&nbsp;&nbsp;//取数据的6到16位<br />ADdata&nbsp;=&nbsp;ADdata&nbsp;*&nbsp;3300;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//参考电压为3.3V,乘3300是扩大了1000倍,单位变为mV<br />ADdata&nbsp;=&nbsp;ADdata&nbsp;/&nbsp;1024;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//10位的ADC,计算每一LSB的电压值要除以1024<br /><br />//最后两条实际上是这样的:&nbsp;ADdata*Vlsb,其中Vlsb表示一份的电压是多少,ADdata的值就是表示有多少份Vlsb,<br />//而Vlsb=3.3/1024(V)=3300/1024(mV),就是ADdata&nbsp;=&nbsp;ADdata*(float)3300/1024,<br />//为了避免浮点计算,又要保证计算精度,所以拆成了两句
 楼主| jhycl 发表于 2007-3-1 09:49 | 显示全部楼层

o 明白了 谢谢~~

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

124

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部