waferhit 发表于 2016-2-20 09:00:59

vc 6.0 串口助手调试一个怪现象,求解

自开发板子A (内置TTL转USB接口,芯片TI的USB3410, 我开发的板子)。

成熟硬件B(内置485电路,外部用一个485转USB,市面产品UT-890)。

自开发串口软件A (我用VC6.0开发的串口助手,win7下)。

成熟软件B(网上找的串口助手,捷通:modbus调试软件)。

现在出现的问题是:

自开发软件A + 成熟硬件B,调试正常。(能说明软件A方案可行)
成熟软件B + 自开发板子A ,调试正常。(能说明产品A硬件可行)

自开发软件A + 自开发板子A (串口调试抛出异常)。

具体现象:

if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收数据事件
        {
                variant_inp=m_ctrlComm.GetInput(); //问题出在这一句,接收到数值后,中断能运行到这
                safearray_inp=variant_inp;////问题出在这一句,接收到数值后,中断不能运行到这

按F10单步运行时,会跳到以下,有时也会跳到汇编文件中。

CATCH_ALL(e)
{
// free temporaries created by VariantChangeType
for (UINT iArg = 0; iArg < pDispParams->cArgs; ++iArg)
VariantClear(&rgTempVars);

THROW_LAST();
}


现在已经搞不清什么问题了,调了好几天,头都大了,群里有没有有经验的兄弟给个思路。先谢了!

jiki119 发表于 2016-3-2 13:56:02

异常处理不够完善!

jiki119 发表于 2016-3-2 13:56:33

vc多发一些,帮你看看。
页: [1]
查看完整版本: vc 6.0 串口助手调试一个怪现象,求解