星空下的吖米

    1. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      huaiqiao 发表于 2016-5-18 16:44 tt = temp*0.0625; 楼主这个地方,如果报错你解决不了,还有种方法。你不用强制类型转换,可以考虑tt就 ...
      取整其实还是得强制转换
    2. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      已经解决了,谢谢各位的帮助,我的解决方法是在那处有问题的代码 tt = temp*0.0625      //这处0.0625改成除以16就行了   为何会这样可能是不同数据结构运算出错了 然而我看别人的程序了也是直接乘以0.0625是没问题的   所以也不知道是为什么
    3. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 12:56 目前看就是哪里有异常就从哪里入手,既然异常了,肯定是有变量或者代码超出正常地址范围了。要找关键点。 ...
      好的,谢谢你,我试试看
    4. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 12:29 最好把出问题的程序全部都贴出来。现在也看不到printf函数,而且你的函数里虽然用到了浮点数,但是完全没 ...
      请问你那有Keil4吗   可以加你QQ把代码发给你吗  很奇怪  只是一句代码就搞到强制转换不了
    5. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 12:11 是不是printf的问题,难道你的printf不支持浮点数?
      :Cry:  浮点的时候可以打印,然后强转成int的时候就不行了
    6. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 11:51 再说这个错误提示是以什么方式提示出来的?52单片机可以仿真吗?
      对了,调试的时候显示是在printf那句话的时候跑飞,可是没有那句tt = temp*0.0625;代码的时候就可以正常执行
    7. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 11:51 再说这个错误提示是以什么方式提示出来的?52单片机可以仿真吗?
      可以Debug,上面那个程序已经涉及到强制类型转换了, 可是只要把int型改成返回float型就没问题了·····
    8. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 11:43 这应该不是数据类型的问题,是不是你的Flash空间不够了?代码多大,Flash空间多大?
      Program Size: data=15.1 xdata=60 code=3761    看这个吗  52单片机的  
    9. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      lcofjp 发表于 2016-5-18 11:32 什么叫执行不了?是编译错误,链接错误还是运行时错误?
      实际无法运行,调试的时候出了上面那个错误, int Get_Tmp(uchar d)                   //获取温度get the temperature { uchar a,b; float tt; uint temp; int wendu; Init_Ds18b20();                //初始化 Write_One_Byte(0xcc);          //忽略ROM指令 Init_Ds18b20(); b20_Matchrom(d);                 //匹配ROM d Write_One_Byte(0x44);          //温度转换指令 Init_Ds18b20();                 //初始化 Write_One_Byte(0xcc);          //忽略ROM指令 Init_Ds18b20(); b20_Matchrom(d);                 //匹配ROM d Write_One_Byte(0xbe);          //读暂存器指令 a = Read_One_Byte();           //读取到的第一个字节为温度LSB b = Read_One_Byte();           //读取到的第一个字节为温度MSB temp = b;                      //先把高八位有效数据赋于temp temp
    10. 单片机数据类型问题 22/3771 51单片机 2016-05-18
      sint27 发表于 2016-5-18 11:35 没明白你的意思,你的强制转化语句在哪里,对哪个变量转化?
      强制转换语句是float ff = 213.12323 int aa; aa = (int)ff; 用printf("%d",aa)打印

最近访客

< 1/1 >

统计信息

已有2人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:10

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言