谢谢JackXie和冰糖芦柑,又有新问题。 点击:1104 | 回复:8



TopSpeed

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 24回
  • 年度积分:0
  • 历史总积分:106
  • 注册:2003年8月29日
发表于:2004-04-21 19:27:00
楼主
谢谢两位,文件读取的问题已经解决,浮点运算的准确性目前也已解决。现在最令我头痛的是程序运行的速度实在太慢(我做的程序是采集到燃气或原油管道上的物理信号如压力温度等,再根据流体的物理特性计算流量,需要预置大量参数并进行大量的浮点运算,现在假设信号采集已经完成,然后计算瞬时流量,完成一次运算大约20分钟,实在是超过了我能忍受的极限)据公司同仁说他在单片机下做同样的计算一个周期只要几百毫秒,据我理解,80188与单片机的速度不可能有如此巨大的差距,联想到7188的手册上要求用户在编译TC或BC程序时,在Option设置中关闭Float pointing(我没有关闭,因又为关闭后根本无法编译我的程序),是不是7188浮点运算功能本来就有限,而我对7188的运算功能期望值过高?还是我这块7188有问题(我的7188加电后,不向PC机发送自检信息,也不执行已经下载到模块中的Autoexec.bat)?如蒙回复,不胜感激



謝聰敏

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 246回
  • 年度积分:0
  • 历史总积分:351
  • 注册:2002年9月23日
发表于:2004-04-22 15:08:00
1楼
您好, 如您願意, 請將源代碼寄到service@icpdas.com, 我公司工程師將為您做測試. 盼回覆.

MiniOS7_2.0

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2004年4月23日
发表于:2004-04-23 10:17:00
2楼
請問 7188 的問題為何?如果不執行 autoexec.bat 的話,可以回應 PC 端送過去的命令嗎?你用的是 MiniOS7 版的 i-7188 嗎? 如果單片機的程式可以很快算完,那就直接把單片機的 CODE 轉換到 7188 上使用。

MiniOS7_2.0

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2004年4月23日
发表于:2004-04-23 15:49:00
3楼
我把你的CODE放在 PC 上執行,CPU 使用 P4 1.8G,約花了 55*5=275ms。而且它有浮點運算的功能。所以我不相信單片機也一樣是幾百 ms 就算出來。(這個單片機的速度多快?還是你的CODE裡頭計算的不只一個周期?)

MiniOS7_2.0

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2004年4月23日
发表于:2004-04-23 16:39:00
4楼
我在 40M 的7188 上測試需要花 341.5 秒,在 80M 的 7188E 上測試要花 96.5秒。所以沒有你所說的20分鐘這麼久,請問你可以忍受的極限是多久?我會再用 MSC 試看看,可比較快一些。

MiniOS7_2.0

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2004年4月23日
发表于:2004-04-23 17:03:00
5楼
使用 MSVC 1.52 測試,用編譯參數 "/FPa" 結果並不會比 BC++ 3.1的結果快。(會慢一些)所以目前看來最快也要接近 6 分鐘才能完成。(80M 的 7188 還沒開始賣) 接下來想加快速度,應該只能由 CODE 看哪裡能再簡化了,這一部分會比較花時間。

TopSpeed

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 24回
  • 年度积分:0
  • 历史总积分:106
  • 注册:2003年8月29日
发表于:2004-04-23 18:04:00
6楼
先感谢MiniOs7_2.0的帮助。关于单片机的运行时间,不是我自己的测试,是公司的一个同仁告诉我的,可信度有可能打折扣。我与其他朋友讨论这个问题,他们说如果单片机的速度快的话,有可能是因为单片机的程序是先编译成机器码,然后下载到单片机中,中间没有OS这一层的因素。而TC编译成可执行文件后下载到7188中后,在执行时还要经过操作系统的解释(这个词可能不太准,总之是要经过OS这一层),吃不准是不是操作系统的底层设计对浮点运算的支持不够。这个朋友使用的单片机速度一般是12M左右,他说他的浮点程序运行速度没有问题,我没有开发单片机的经历,这些话只能姑妄听之。 看来,目前的7188时无法满足我的要求了,我做的系统要求在线实时采集数据并计算流体的瞬时流量,能够忍受的极限是从采集到计算完成,用时2到3秒。即使是80M的7188目前看来也无法满足要求,遗憾。 我说的20分钟,是我在程序设计刚刚完成时,有部分代码用于测试,比较费时。发给您的代码已经去掉了这一部分代码,去掉之后在我的7188上的运行时间与您的测试基本相同,这个问题理应由我负责解释,抱歉。 我用的是操作系统是MiniOs7,语言是TC++3.0。7188的其它功能都正常,如您所说的对PC的命令的回应都正常,我也不清楚为什么不执行autoexec.bat,也正是因为这个我才怀疑我的7188是不是让我给折腾坏了:-) 非常感谢各位的支持,我对7188的工作还没有做完,尽管目前计算流量的工作不能做,我可能会把它用在数据采集和通讯的场合,届时仍盼各位不吝赐教。

謝聰敏

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 246回
  • 年度积分:0
  • 历史总积分:351
  • 注册:2002年9月23日
发表于:2004-04-26 14:14:00
7楼
To TopSpeed: 回答您問題的是泓格科技總工, 很感謝他對我們市場處同事的支持, 也很謝謝您支持泓格, 有問題您可以在這論壇提出來, 我們會盡力解決, 我公司還有其他同是都會上來回答問題, 他們都很熱心, 像是GaryLin等等, 靠大家努力把這個論壇搞好.

MiniOS7_2.0

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 8回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2004年4月23日
发表于:2004-04-27 11:25:00
8楼
這一次在我們公司 Wincon8000 的CPU 上測試,時間約46秒可以完成。看來距離 2-3秒還很遙遠。所以可能得找相當高階的CPU才有辦法。或是得有硬體處理浮點運算才容易達到。 在 7188 上面浮點運算跟 OS 之間基本上可以說是沒有關係,速度取決於程式所使用 LIB 如何做那些運算。

热门招聘
相关主题

官方公众号

智造工程师