最近在做pt100测温程序,查表数值小于0x1000能读取出来,但是不能赋予u16数据类型的局部标量,大于0x1000的查表数据,就能正常读取出来,并被赋予局部变量。
最近在做pt100测温程序,查表数值小于0x1000能读取出来,但是不能赋予u16数据类型的局部标量,大于0x1000的查表数据,就能正常读取出来,并被赋予局部变量。
当pt100数据表中的数据存放在ROM的0x0000-0x1000区域时,keil编译器在编译时,可能存入时就是0,或在程序读取时,就只能读取0,所以就将0这个值赋予了变量。因此计算结果是错误的。
解决办法:固定该表pt100数据表的存放位置,使其存放起始位置大于0x1000,即可解决。
具体是硬件问题,还是编译器问题,不是很清楚。