打印
[STM8]

求助stm8l152的一些问题

[复制链接]
3197|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lang206207|  楼主 | 2010-12-30 07:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近刚刚接触stm8l152,因为资料都是英文,所以有很多疑问,1怎样通过用A/D提供一个稳压,怎样配置;2怎用DA持续输出一个稳定电压;3测量供电电压是不是直接用AD测,还是有什么方法。本人是菜鸟,这3个问题对我很重要,希望各位高手能分享下程序,程序用库函数写。发到邮箱可以lang2731@163.com
沙发
IJK| | 2010-12-30 08:47 | 只看该作者
本帖最后由 IJK 于 2010-12-30 09:19 编辑

1不明白用AD怎么输出电压?
2可以。建议参考STM8L固件库里DAC的例子
3正确。通过测Vref反推出Vdd

使用特权

评论回复
板凳
lang206207|  楼主 | 2011-1-1 02:39 | 只看该作者
谢谢2楼的回答,对于第一个问题,我之前看到有人用热敏电阻测温时,就是利用PD7引脚的VREF_OUT这个功能,输出一个基准电压的,我不知他是怎么做的,怎样用这个功能?还有怎样测Vref反推出Vdd?有谁知道分销下啊

使用特权

评论回复
地板
IJK| | 2011-1-3 15:53 | 只看该作者
VREF_OUT 印象里确实有这个功能,但记得它的驱动能力比较弱,驱动能力似乎在10k ohm电阻的量级。

测Vref反推出Vdd其实不难,因为Vref可以作为1路AD输入,比如:假如Vref=1.2V,Vdd=3V,那么Vref的ADC转换结果是1.2 / 3 * 4096(Vref转换值 = Vref / Vdd * 4096),或者Vdd = Vref * 4096 / Vref转换值。
另外Verf的典型值可以在data sheet查到,大约是1.225V。

使用特权

评论回复
5
lang206207|  楼主 | 2011-1-4 23:03 | 只看该作者
楼上的大哥,我用一路AD做为一路输入(外面不接任何东西)得到的数是1970 ,所以Vref转换值=1970*3.3/4096=1.58V,并不是1.225V啊。另外如果我得到一个数A,那么我的VDD是不是这样算:
VDD=3.3*A/1970.还有谁知道怎样开启VREF_OUT 这个功能

使用特权

评论回复
6
IJK| | 2011-1-5 09:49 | 只看该作者
楼上的大哥,我用一路AD做为一路输入(外面不接任何东西)得到的数是1970 ,所以Vref转换值=1970*3.3/4096=1.58V,并不是1.225V啊。另外如果我得到一个数A,那么我的VDD是不是这样算:
VDD=3.3*A/1970.还有谁知道怎样 ...
lang206207 发表于 2011-1-4 23:03


看上去1970不是测量内部Vrefint得到的值,需要注意的是最好多测几次内部Vrefint,把前2次的测量结果丢掉。

内部Vrefint可以输出到PD7,可以看STM8L Reference manual的这章: Routing interface and System configuration controller

使用特权

评论回复
7
lang206207|  楼主 | 2011-1-6 02:10 | 只看该作者
测量内部Vrefint得到的值是1958,相差不大啊

使用特权

评论回复
8
IJK| | 2011-1-6 08:32 | 只看该作者
多测几次内部Vref,另外Vref要打开并等一小段时间。我测过好几块板上 的STM8L152,反推得到的Vdd都很准,误差一般只有几mV。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

1

粉丝