This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC3100BOOST:"收发器模式""功率测量"SDK 示例 CC3100堆栈大小

Guru**** 2387830 points
Other Parts Discussed in Thread: CC3100BOOST, MSP430FR5969, CC3100
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/646855/ccs-cc3100boost-transceiver-mode-and-power-measurement-sdk-examples-cc3100-stack-size

器件型号:CC3100BOOST
主题中讨论的其他器件: MSP430FR5969CC3100

工具/软件:Code Composer Studio

尊敬的所有人:

与该帖子类似: https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/391062 当我尝试在  MSP430FR5969 Launchpad + CC3100BOOST 板上运行"transceer_mode"或"power_measuring"项目时、我遇到诸如"program will not fit into available memory"之类的错误。

如果我将默认缓冲区大小"#define BUF_SIZE 1400"从1400减小到800、则两个项目都可以放入存储器并运行。

但是 ,我 没有从笔记本电脑上的 CC3100设备接收到任何 ICMP 数据包(数据包中的目标 MAC/IP 地址)。 我在 WLAN 适配器上使用 Wireshark。

我怀疑这个问题可能是由我强制的任意缓冲区大小缩减引起的,但我不知道这是否是唯一的问题。

 由于我的目标是 实现一个非常简单的标签、每隔几秒在收发器模式下传输一个802.11数据包以指示其存在、我如何 才能最大程度地减小数据包大小以适应 MCU 存储器? 或者、是否有其他方法可以实现基于 MSP430FR5969 MCU 的简单标签?

这是默认的数据包,其地址(MAC 和 IP)根据我的网络修改:

const _u8 RawData_Ping []={

                  0x88,  /*版本,键入子类型*/

                  0x02、  /*帧控制标志*/

                  0x2C、0x00、

                  0x78、0x89、0x47、0x98、0x0a、 0x7f、  /*目的:我的 PC WLAN 适配器 addr (或广播 ff:ff:ff:ff:ff:ff:ff:ff)*/

                 0x60、0x31、0x47、0x2A、0x26、 0x39、  //我的路由器 WLAN BSSID */

                  0xF1、0x6B、0x4F、0xB8、0x5F、 0xc4、  /*源:C33100实数 macaddr *

                  0x80、0x42、0x00、0x00、

                  0xAA、0xAA、0x03、0x00、0x00、 0x00、0x08、0x00、/* LLC */

                  /*--> IP 标头启动--> *

                  0x45、0x00、0x00、0x54、0x96、 0xA1、0x00、0x00、0x40、0x01、

                  0x57、0xFA、                       /*校验和*/

                  0xc0、0xa8、0x01、0x64、            /* src IP:CC3100的理想 IP *

                  0xc0、0xa8、0x01、0x37、            /* dest IP:my PC IP *

                  /*有效载荷- ping/ICMP */

                  0x08、0x00、0xA5、0x51、

                 0x5E、0x18、0x00、0x00、0x41、 0x08、0xBB、0x8D、0x00、0x00、

                  0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、

                  0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、

                  0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、

                  0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、

                  0x00、0x00、0x00、0x00、0x00、 0x00、0x00、0x00、0x00、0x00、

                  0x00、0x00、0x00、0x00};

非常感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否在监听器上看到数据包?

    假设这不是应用程序问题、数据包确实会通过无线方式传输、而只是在客户端上未收到、则很可能是 IP 标头校验和不正确。

    根据我的计算、它是:

    0x4500+0x0054+0x96a1+0x4001+0xc0a8+0x164+0xc0a8+0x137=0x29fe1 --> 0x9fe1+0x2=0x9fe3 -->不(0x9fe3)=0x601c。

    Shlomi

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Shlomi:


    感谢您的支持。 问题是校验和! 数据包已损坏。 现在、我能够在客户端上接收正确的数据。

    另一个问题是我的网络的 WPA 保护。 该代码仅在开放网络中工作正常。 在受 WPA 保护的网络上使用收发器模式(TAG)、或者更好的方法是在路由器上启用 MAC 身份验证、以便在不受 WPA 保护的情况下授权标签的 MAC 地址?

    再次感谢你。
     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Riccardo、

    不幸的是没有

    在收发器模式下、您实际上会绕过 WiFi MAC 层并构建自己的数据包。

    通过选择以这种方式工作、您可以放弃任何 WiFi 过程、因此无法真正连接到安全的网络。

    此致、

    Shlomi