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.

[参考译文] CC3100:CC3100与 STM32P107驱动程序问题相连接

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1036300/cc3100-cc3100-interfaced-with-stm32p107-driver-issues

器件型号:CC3100
主题中讨论的其他器件:UNIFLASH

大家好、

   我已提出有关 wifi 模块 cc3100modboost 的错误,下面的链接详细介绍了 IAM

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1033531/cc3100-cc3100-wifi-module/3826487#

很遗憾、我单击此选项可以解决我的问题、是否有人可以帮助解决该错误。

最后,询问的问题是为什么 sl_start()返回错误代码为 role_unknown,但 有时 sl_start()返回的状态仍为 role_sta(0)。

主要是 sl_SyncObjWait()返回 SPI 已中止,该中止在函数_SlDrvMsgReadCmdCtx 下。

谢谢、此致、

Srigandeswaran S

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

    您没有收到对命令的响应、

    它通常表示 SPI 或 NWP 中断存在问题。

    您需要 监控硬件。

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

    你好、kobi leibovitch、

             如何检查中断引脚是否有问题,我已经配置了中断引脚并启用了中断引脚,但 sl_start 的响应仍然是0或1,表示 role_STA 或 role_unknown,您的意思是监视硬件,监视 UART 数据值?

    谢谢、此致、

    Srigandeswaran S

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

    是的、请检查 UART 线路。

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

    你好、kobi leibovitch、

             我已经检查了 UART 线和正在传输的数据(接收一些垃圾数据)、并且对是否需要定义 SL_Tiny、SL_Small、SL_ Full 等定义有进一步的疑问?

    谢谢、此致、

    Srigandeswaran S

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

    您是否在 UART 上看到发送和接收的数据? 这话什么意思? 您能否发送 传输的实际字节数据?

    请勿使用这些定义中的任何一个。

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

    你好、kobi leibovitch、

           垃圾数据意味着、无论传输 IAM 的任何数据、IAM 都无法将其放入逻辑分析仪(用于查看数据的输出工具)中、是否有任何解决方案可以解决该问题、从而接收任何 IAM 传输的实际数据字节?

    是否有任何解决方案来解决函数 _SlDrvIsTimeoutExpired (&TimeoutInfo),因为该函数返回错误代码,使器件重新启动标志置1并返回 sl_api_aborted

    谢谢、此致、

    斯里甘德斯瓦隆...

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

    您在 UART 传输和/或接收方面似乎有问题。 我无法从您的回答中理解。

    发生超时是由于 UART 问题(主机发送命令或在 sl_Start 中、主机切换 RESET/NHIB 行、但未读取预期结果)。

    您将需要修复 UART 端口。

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

    你好、kobi leibovitch、

               UART 端口没有问题、发生无中断的 UART 数据传输、并且数据不是从 WiFi 模块(UART 接收)接收的、它在一个函数处获取结构

    我需要知道是否可以从 TeraTerm 等任何串行端口工具向 cc3100 wifi 模块发送任何命令?

    在进行 UART 数据传输时、休眠引脚是否需要为高电平?

    谢谢、此致、

    Srigandeswaran.S

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

    您是否使用 SPI 或 UART 作为 CC3100主机接口?

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

    你好、kobi leibovitch、

              主机接口是 UART (如前面的文章中所述、您可以看到)

    谢谢、此致、

    Srigandeswaran.S

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

    在 UART 传输期间、NHIB 线路必须保持高电平(器件无法进入休眠状态)。

    能否在 initi 序列期间发送 UART RX 和 TX 数据? 就 UART 而言、这显然是一个移植问题。 我不确定"数据未从 WiFi 模块(UART 接收)接收到、它在一个函数处获取结构"是什么意思。 请详细说明您在 NWP 输入和输出线路上看到的内容。

     

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

    你好、kobi leibovitch、

             当然、在 UART 数据传输期间将注意 N2HIB 线路高电平、在 Init 序列期间、UART 数据 Tx 和 RX 为0xff 和0xba。

    数据未被接收的方式是、它永远不会进入_SlDrvMsgRead ()函数内存在的 NWP_IF_READ_CHECK (UART_READ)函数。

    谢谢、此致、

    Srigandeswaran.S

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

    因此、UART RX 似乎无法正常工作(请检查 UART 线路和主机上的引脚复用)- NWP_IF_READ_CHECK 用于验证来自 NWP 的数据。
     SlDrvRxHdrRead 是否成功返回?

    是否可以发送 接收到的缓冲区转储?  (uBuf.TempBuf)

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

    你好、kobi leibovitch、

         它在函数_SlDrvMsgReadCmdCtx 内部导航、但 它不会进入_SlDrvMsgRead 函数内部、其中存在_SlDrvRxHdrRead、因此无法接收(uBuf.TempBuf)。

    引脚复用是指替代功能正确?主机 MCU 中正确给出了引脚复用。

    谢谢、此致、

    Srigandeswaran S

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

    好的、如果您从未开始 从 UART 读取、那么您应该怀疑中断端口。

    您是否正在进入"_SlDrvRxIrqHandler"?

     SlDrvMsgReadCmdCtx 到底在哪里 停止?

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

    你好、kobi leibovitch、
             是的、它进入_SlDrvRxIrqHandler 一次、进入_SlDrvMsgReadCmdCtx 函数、并将结构放入其中存在的_SlDriverHandleError 函数。

    当然、我将检查中断端口、我已经配置并启用了它、除了需要检查的内容?

    谢谢、此致、

    Srigandeswaran S

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

    您需要验证每个命令是否激活了一次中断处理程序(检查 RxIrqCnt 和 g_PCC->RxDoneCnt 值)。

    请提供 UART 和中断线路的初始化序列的逻辑分析器捕获。

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

    你好、kobi leibovitch、
             中断处理程序只激活一次、RXIrqcnt 和 RXDonecnt 的计数只有1、计数增加不超过1。

     UART (TX 和 RX)逻辑分析仪捕获的初始化序列如下所示。我已单独将第一个十六进制命令最大化、您可以在图像(终端)的右侧看到其他命令。

    谢谢、此致、

    Srigandeswaran S

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

    1中断可能用于 sl_Start、但随后会卡在下一条命令上。

    您可能不会清除中断?

    您在哪个命令中遇到困难?

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

    你好、kobi leibovitch、

        是的、第一个中断在_SlDrvRxIrqHandler 函数的 driver.c 文件中的 sl_start (在注册中断期间)期间发生。

    每次清除中断。

    在 sl_start 命令本身之后、它永远不会进入下一个命令。

             
    谢谢、此致、

    Srigandeswaran S

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

    注册设备时-不应收到中断。

    第一个是器件启用后的预期值。

    您是否已经完成了硬件审查流程?  (https://www.ti.com/tool/SIMPLELINK-WIFI-DESIGN-REVIEWS)

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

    你好、kobi leibovitch、

        在注册器件时、仅进行 Rxirqcnt (未获得中断)。为了在_SlDrvMsgReadCmdCtx 函数中使用、增加计数、是在启用器件后需要第一个、但在启用器件后未接收到中断。

    否、执行硬件审核流程的用途是什么?

             
    谢谢、此致、

    Srigandeswaran S

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

    硬件审查过程可以发现您的设计中的硬件问题。

    目前、您 遇到了一些可能与 硬件或软件相关的移植问题。 我正在尝试消除硬件问题。

    从最后一个答案开始-我不确定您是否从器件获得了任何中断。

    sl_Start 应该打开 NWP (改变复位/NHIB 状态)、然后器件将等待初始化完成中断并读取响应。

    如果您没有获得中断、并尝试根据由 SW 递增的计数器读取响应、则会遇到问题。   

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

    你好、kobi leibovitch、

           当然、我们将检查硬件审核过程、我们没有从器件获得中断。

    sl_start API 通过启用休眠引脚来打开器件、并且复位引脚也被设定为高电平以避免模块复位。

    是的、只有当中断(WIFI_DATA)出现时、计数才会递增、然后仅尝试使用_SlDrvMsgReadCmdCtx 函数读取 UART 响应。

             
    谢谢、此致、

    Srigandeswaran S

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

    我认为中断线路未正确连接或配置。

    NWP 似乎可以正常工作、正如我们所展示的、它通过 UART 发送一些数据(看起来是真实数据)、并且没有任何其他方法可以阻止中断。

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

    你好、kobi leibovitch、

                 已多次检查中断线路、但问题仍然存在。我们是否可以检查与任何 API 的使用或代码中的定义相关的其他事项

             
    谢谢、此致、

    Srigandeswaran S

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

    您能否共享 包含 UART 和中断线(以及 RESET/NHIB 线)的逻辑分析仪捕捉?

    有一个非常基本的东西是没有正确配置。

    如之前建议的硬件审核可能会有所帮助。

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

    你好、kobi leibovitch、

               当然,您可以在 Device_Enable API 函数期间找到具有 UART TX、UART RX、中断线路和状态的映像。

    我已经配置了项目所需的所有引脚。
    谢谢、此致、

    Srigandeswaran S

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

    我可以看到、您在设置中断线之前开始读取 。

    您应该在现有字节之后读取更多数据。

    请将此序列与工作参考平台中的序列进行比较。

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

    你好、kobi leibovitch、

              是的、在 IRQ 线路变高之前读取数据、因为有一个名为_SlDrvRxIrqHandler 的函数在其中注册了驱动器 IRQ 处理程序、其中有一个函数被调用

    _SlDrvMsgReadSpawnCtx 在我们尝试读取一次数据的地方、以这种方式写入 cc3100驱动程序代码

    我将检查一次它。


    谢谢、此致、

    Srigandeswaran S

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

    好的。 请与参考平台进行比较。

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

    你好、kobi leibovitch、

             目前只调试 sl_start()函数,我强烈怀疑只使用中断处理程序函数的问题,如果您对不使用中断处理程序函数的代码有任何想法,请建议我,i.e (3线协议)      


    谢谢、此致、

    Srigandeswaran S

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

    即使3-w UART 需要一个中断、但它将等待 UART 中断(即_SlDrvRxIrqHandler ()将被注册到 UART -请参阅 sl_IfRegIntHdlr 的实现)、而不是使用 HOST_IRQ (GPIO)。

    如果这种方法效果更好、则驾驶员应该可以。

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

    你好、kobi leibovitch、

             好的,sl_DrvIrqHandler()是否将接受 UART 中断作为主机 IRQ,如何将 UART 中断 IRQ 链接到 SldrvirqHandler?


    谢谢、此致、

    Srigandeswaran S

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

    这是特定于平台的配置。

    这取决于您使用的主机和操作系统。

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

    好的、我需要在没有主机中断线路(HOST_IRQ)的情况下使用代码、即数据表(CC3100mod)中提供的四线协议(UART TX、RX、CTS、RTS)。为此、需要在代码中进行哪些更改。

    已删除硬件连接中的 HOST-IRQ 线路

    IAM 使用 STM32F1作为主模块、cc3100mod 作为从模块、IAM 使用代码中的非操作系统类型。

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

    如前所述、您需要注册中断处理程序。

    您将无法将主机置于睡眠状态(因为 UART 必须能够接收数据丢失)。

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

    你好、kobi leibovitch、

              该模块以 AP 模式设置、但存在与 cc3100boost 板中 html 页面刷写相关的问题、这些步骤是根据 Uniflash 文档 MCU 刷写部分中提到的步骤完成的。

    刷写板中的任何 HTML 页面仅显示默认网页、您知道有什么步骤有助于刷写所需的 HTML 页面?

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

    由于这与之前的问题无关、请在新主题中打开此主题。

    通常、如果 html 页面位于"www/"文件夹下、且编程成功通过(当然、内部 http 服务器已启用)-则应可访问这些页面。