请求大神指点迷津!!!
1.硬件环境:
CC3100MODBOOST(rev1.0) + AVR ATxmega128B1(SPI接口)
2.调试环境:
Atmel studio 7.0,代码采用C:\TI\CC3100SDK\cc3100-sdk\examples\tcp_socket
3.调试过程:
(1)使用CC3100SDK0.5.1版:CC3100作为客户端,NetAssist设置为服务端。
运行程序,设置断点。
现象1:若NetAssist向CC3100发送10个数据包,发送间隔长时(大约3秒),发送完毕后,可以正常关闭SOCKET,发送间隔小的话,程序始终在_SlNonOsMainLoopTask中循环。
现象2:若CC3100向NetAssist发送10个数据包,NetAssist只收到一个数据包,程序始终在_SlNonOsMainLoopTask中循环,运行不到断点。
下图为NetAssist和wirshark 抓的数据包。
(2)使用CC3100SDK0.5.1版:CC3100作为服务端,NetAssist设置为客户端(NO_OF_PACKETS定义为10),
运行程序,
现象1:NetAssist向CC3100发送10个数据包,发送完毕后关闭SOCKET都正常。
现象2:若CC3100向NetAssist发送10个数据包,NetAssist只收到一个数据包,程序始终在_SlNonOsMainLoopTask中循环。
下图为NetAssist和wirshark 抓包。
4.首先怀疑是SPI接口驱动移植有问题,于是用CC3100SDK_1.3.0版中spi_debug_tool进行测试,测试正常,如图示:
是哪里出了问题呢?