打印
[技术问答]

关于005芯片读温度Trim值时出错

[复制链接]
2001|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stevenvonmark|  楼主 | 2019-11-16 16:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教高手,
     我想读出005芯片内部温度对应地址的Trim值,比如2.5v对应的地址是:0X00100C36,读这个地址的数据会进入死循环,但我读其他地址的值是正常的,请问是否有办法解决呢?
    Trim_data =*((unsigned long*)(0x00100C36UL));                //出错的,会进入死循环

使用特权

评论回复
沙发
smartpower| | 2019-11-16 16:43 | 只看该作者
Trim_data =*((unsigned short int*)(0x00100C36UL));   

使用特权

评论回复
板凳
smartpower| | 2019-11-16 16:44 | 只看该作者
这个是16bit的值,需要用16bit的访问方式。

使用特权

评论回复
地板
smartpower| | 2019-11-16 16:44 | 只看该作者
这是ARM 0+ CPU 的特性。

使用特权

评论回复
5
stevenvonmark|  楼主 | 2019-11-16 17:01 | 只看该作者
你好,我之前也试过这个是可以读,现在也再用你的语句读,得到的数据我是觉得有问题。
目前使用仿真的单片机读出来的trim数据是0x0605,目前环境温度大概27度左右,读出来的AdcValue=0x0776,如果按照计算公式:环境温度  = 25 + 0.0839  ×  Vref ×  ( AdcValue – Trim ) ,温度是85度,这个是非常有问题的。但如果按照手册的例子,trim数据大概是0x076c,计算的温度大概是27度,比较符合实际情况。
所以,目前还是存在疑问。

使用特权

评论回复
6
buffered| | 2019-11-17 18:23 | 只看该作者
可以再详细啃一下手册

使用特权

评论回复
7
aoyi| | 2019-12-16 11:47 | 只看该作者
trim值是什么值呀

使用特权

评论回复
8
tangguowang| | 2022-3-11 15:08 | 只看该作者
我的读出来都是500多度。搞得我都不知道怎么搞

使用特权

评论回复
9
tangguowang| | 2022-3-11 15:12 | 只看该作者
buffered 发表于 2019-11-17 18:23
可以再详细啃一下手册

看了那段操作,就是搞不出来

使用特权

评论回复
10
宝挖小子| | 2022-9-14 09:21 | 只看该作者
官网怎么连个读温度的例程都不给

使用特权

评论回复
11
Bowclad| | 2022-9-16 19:11 | 只看该作者
看一下手册,里面有

使用特权

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

本版积分规则

3

主题

6

帖子

0

粉丝