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[iArg]);
THROW_LAST();
}
现在已经搞不清什么问题了,调了好几天,头都大了,群里有没有有经验的兄弟给个思路。先谢了!