问题: 网口调试,使用仿真器单步调试。刚开始全速运行的时候可以ping通,但是停止全速运行,停在断点,等待时间超过ping命令的超时时间,就再也ping不通了。这个时候网口的收发中断都正常。
原因:网口数据接收程序有问题。网口中断来的时候,每次只读一帧。如果停在断点处的时间很长,同时累计了两个或以上的帧时,则每次读到的都是最旧的帧。应答的也是旧帧,PC的ping工具认为是超时。
解决:网口数据接收的时候,循环接收完所有的数据。
本文探讨了在使用仿真器单步调试时遇到的网口Ping不通的问题,并详细分析了其原因在于网口数据接收程序只能处理单帧数据,导致多帧累积时出现Ping超时现象。最后给出了改进方案,即循环接收所有数据以解决问题。
问题: 网口调试,使用仿真器单步调试。刚开始全速运行的时候可以ping通,但是停止全速运行,停在断点,等待时间超过ping命令的超时时间,就再也ping不通了。这个时候网口的收发中断都正常。
原因:网口数据接收程序有问题。网口中断来的时候,每次只读一帧。如果停在断点处的时间很长,同时累计了两个或以上的帧时,则每次读到的都是最旧的帧。应答的也是旧帧,PC的ping工具认为是超时。
解决:网口数据接收的时候,循环接收完所有的数据。

被折叠的 条评论
为什么被折叠?