tanxu123 发表于 2009-12-29 15:17:24

调用API中的qt_measure_sensors( )时,怎么有进无出?

各位大虾帮我看看,我在用调试程序时,进入qt_measure_sensors( )后,就出不来了,这是怎么回事?谢谢

qlb1234 发表于 2009-12-29 15:48:47

什么叫出不来了?函数不返回?
楼主应该明白仿真是怎么回事。仿真不是什么都可以仿的。如果太真,软件当然仿不了。
为什么定时器可以仿真,而模数转换不能仿真?因为定时器实际上有点“假”,而模数转换太“真”了。
打个比方,玩具枪。真枪有声音,玩具枪也有;真枪能打死人,玩具枪却只会疼。这是因为声音能够仿造,而把人打死,是绝对不允许的。

tanxu123 发表于 2009-12-30 11:19:38

回复【1楼】qlb1234 清蓝冰
-----------------------------------------------------------------------

我也是初学这个,匆匆提问就闪了,抱歉没说清楚,我试着用ATmega 16的芯片,用的是LIB3.0的库,选的是libv3g2-8qt-k-2rs.r90(没有libv3g2-8qt-krs.r90), 按照文档的流程将库添加了,编译过了,但在单步执行时候,程序进入qt_measure_sensors( ),函数不返回了,在检测口(PB.7和PD.7)时有都脉冲序列,请问是哪一步出的问题?

tanxu123 发表于 2009-12-30 11:21:04

回复【1楼】qlb1234 清蓝冰
-----------------------------------------------------------------------

谢谢

qlb1234 发表于 2009-12-30 12:03:27

“单步执行”指的是硬件仿真,还是软件调试?如果是软件调试,那就别浪费时间了。
这个触摸检测,本来就是依靠硬件的。换句话说,它不是纯软件的东西,调试根本就不起任何作用。

tanxu123 发表于 2009-12-30 13:00:05

回复【4楼】qlb1234 清蓝冰
-----------------------------------------------------------------------

我是下载到硬件上看的,用AVR Dragon 在线调试的,没出结果,才看的程序的运行情况,发现了我先前说的情况。

Gorgon_Meducer 发表于 2009-12-30 13:26:29

这个函数用step over……不要step in。

tanxu123 发表于 2009-12-30 13:32:12

回复【6楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------

谢谢回复,我再试试

tanxu123 发表于 2010-1-3 11:58:25

回复【6楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------

谢谢你,我的QT可以用了,还是换了88的片子,以前的16L的片子可能硬件上不支持QT功能。

如果你有空的话,我还有个问题想请教你,在调试时候为什么要用step over,用step in就出不来了,而在实际的运行当中证明又是可以函数返回的?为什么调试的和实际运行的不一样啊?
页: [1]
查看完整版本: 调用API中的qt_measure_sensors( )时,怎么有进无出?