关于005芯片读温度Trim值时出错
请教高手,我想读出005芯片内部温度对应地址的Trim值,比如2.5v对应的地址是:0X00100C36,读这个地址的数据会进入死循环,但我读其他地址的值是正常的,请问是否有办法解决呢?
Trim_data =*((unsigned long*)(0x00100C36UL)); //出错的,会进入死循环 Trim_data =*((unsigned short int*)(0x00100C36UL)); 这个是16bit的值,需要用16bit的访问方式。 这是ARM 0+ CPU 的特性。 你好,我之前也试过这个是可以读,现在也再用你的语句读,得到的数据我是觉得有问题。
目前使用仿真的单片机读出来的trim数据是0x0605,目前环境温度大概27度左右,读出来的AdcValue=0x0776,如果按照计算公式:环境温度= 25 + 0.0839×Vref ×( AdcValue – Trim ) ,温度是85度,这个是非常有问题的。但如果按照手册的例子,trim数据大概是0x076c,计算的温度大概是27度,比较符合实际情况。
所以,目前还是存在疑问。 可以再详细啃一下手册 trim值是什么值呀 我的读出来都是500多度。搞得我都不知道怎么搞 buffered 发表于 2019-11-17 18:23
可以再详细啃一下手册
看了那段操作,就是搞不出来 官网怎么连个读温度的例程都不给 看一下手册,里面有
页:
[1]