我的工作与微型芯片是免费的,TCP/IP(版本4.55)堆叠在一个8位微控制器。

我试图重叠,没有做一个完整的董事会重置与个体和小型("RESET").

任何想法,在如何重新启动这堆。

更新

我重叠以下步骤

  1. 切换的重脚以上的微芯片以太网芯片
  2. 呼叫StackInit();
  3. 手动重UDP宣布状态机

这个似乎恢复从致命的SPI错误我遇到了。

有帮助吗?

解决方案

呼叫StackInit().这一职能重新初始化的所有子模块(TCP,UDP,SMTP,等等)。它还将破坏所有的TCP and UDP插你必须打开,所以你必须要重新打开插你想要使用。

作为一个侧面说明:我跟着线上的微芯片的论坛。我也越来越奇怪的重置在我的TCP堆。它结束了一堆溢出。把一些变量在你叠。

#pragma udata stackoverflow = 0xE00
UInt32 StackUpperBound[8];
#pragma udata

初始化,这些变量开始时的主要()并把一个断点的开始。看看这些变量是被复盖。

其他提示

我完全不熟悉的微芯片叠,但除非堆的设计是重新启动,我怀疑您将取得成功。

如果所有的缓冲器和结构是静态的分配,那么在理论上,你可以打电话给初始化程序,以"重新启动"堆叠(假设它不会重新初始化的结构)。

如果它采用动态的缓冲区(malloc),那么我相信你会走运。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top