[STM8] stm8L内部基准的工厂值VREFINT_Factory_CONV和实际值对不上

[复制链接]
6692|11
 楼主| 奔牛滚滚 发表于 2015-6-24 16:06 | 显示全部楼层 |阅读模式
本帖最后由 奔牛滚滚 于 2015-6-24 16:09 编辑

stm8L152c6t6,芯片3.3v供电,内部基准输出的电压是1.214v.那么基准的值应该是4096/3.3*1.214=1507,即0x05e3
VREFINT_Factory_CONV的值读出来是0x693f,实际应该是0x093f,即2367
两个值相差太远了,这个是怎么回事啊?
desertsailor 发表于 2015-6-24 20:13 | 显示全部楼层
第一,你数据读错了;
第二,内部基准电压的典型值是1.224v;
第三,工厂的数据是在3v供电的情况下测试的;
尤彼卡 发表于 2015-6-24 21:55 | 显示全部楼层
工厂的数据是在3v供电的情况下测试的

学习了,
 楼主| 奔牛滚滚 发表于 2015-6-24 22:01 | 显示全部楼层
desertsailor 发表于 2015-6-24 20:13
第一,你数据读错了;
第二,内部基准电压的典型值是1.224v;
第三,工厂的数据是在3v供电的情况下测试的; ...

这个值不是地址0x4910的值吗?
desertsailor 发表于 2015-6-25 07:53 | 显示全部楼层
本帖最后由 desertsailor 于 2015-6-25 07:54 编辑
奔牛滚滚 发表于 2015-6-24 22:01
这个值不是地址0x4910的值吗?

地址没错,是你读错了,读出来只有一个字节的数据——作为低字节,高字节为0x06不变,你自己好好看看手册再说吧。
desertsailor 发表于 2015-6-25 07:55 | 显示全部楼层
我读过这个数据,和典型值是非常接近的。
 楼主| 奔牛滚滚 发表于 2015-6-25 11:25 | 显示全部楼层
desertsailor 发表于 2015-6-25 07:53
地址没错,是你读错了,读出来只有一个字节的数据——作为低字节,高字节为0x06不变,你自己好好看看手册 ...

兄弟,不是我写代码读的哦,是IAR的调试器读的,这个不应该有错吧?下面是截图,帮看看具体数值到底应该是多少?
地址数据.jpg

desertsailor 发表于 2015-6-25 12:08 | 显示全部楼层
奔牛滚滚 发表于 2015-6-25 11:25
兄弟,不是我写代码读的哦,是IAR的调试器读的,这个不应该有错吧?下面是截图,帮看看具体数值到底应该是多少 ...

在这里只要读一个字节就可以了,截图里显示是读了半字,IAR我不熟,不清楚在这里究竟是按大端模式读的还是小端模式读的。
你写段代码读那个字节的数据,再用串口发出来,这样读出来的数据肯定是没错的,最终的校正数据是个16位数据,高字节是固定的0x06,低字节就是之前读出来的字节。
 楼主| 奔牛滚滚 发表于 2015-6-26 10:07 | 显示全部楼层
desertsailor 发表于 2015-6-25 12:08
在这里只要读一个字节就可以了,截图里显示是读了半字,IAR我不熟,不清楚在这里究竟是按大端模式读的还 ...

写代码读出来和iar 调试器的值一样的.
读内存.jpg
desertsailor 发表于 2015-6-26 10:38 | 显示全部楼层
奔牛滚滚 发表于 2015-6-26 10:07
写代码读出来和iar 调试器的值一样的.

如此的话,VREFINT的值就是0x0669,换算后是1.202v。
 楼主| 奔牛滚滚 发表于 2015-6-26 10:44 | 显示全部楼层
desertsailor 发表于 2015-6-26 10:38
如此的话,VREFINT的值就是0x0669,换算后是1.202v。

哦,多谢,是我理解错了.看来有稍许误差.可能是因为万用表内阻什么的造成的,等新的开发板回来再测试一下.
再次感谢不吝赐教
threetigher 发表于 2016-10-20 15:14 | 显示全部楼层
desertsailor 发表于 2015-6-26 10:38
如此的话,VREFINT的值就是0x0669,换算后是1.202v。

不求准,只求稳。

请教,这个内部基准稳么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

384

主题

1461

帖子

6

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