“线程”中讨论的其它部件:CC3100, CC3100SDK
我正在通过 UART 处理 CC3100 WiFi 模块与 STM32F1控制器之间的连接。我尝试配置该模块以与 UART 通信, 我需要将模块设置为 AP 模式或工作站模式。但在我的模块中调试时,模块设置为“未知状态”。我已包括 SL_Start(0,0,0)功能的 API,是否有人可以向我提供如何继续操作的提示?
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.
我正在通过 UART 处理 CC3100 WiFi 模块与 STM32F1控制器之间的连接。我尝试配置该模块以与 UART 通信, 我需要将模块设置为 AP 模式或工作站模式。但在我的模块中调试时,模块设置为“未知状态”。我已包括 SL_Start(0,0,0)功能的 API,是否有人可以向我提供如何继续操作的提示?
您好,Pradeepa,
您能否包括您看到的“未知状态”错误的屏幕截图? 您是否遵循了 CC3100和 STM32F4准备指南中的说明?
e2e.ti.com/.../4606.CC3100-_2600_-STM32F4-Bringup-Guide.pdf
谢谢,
雅各布
您好,Pradeepa,
我们只提供 SPI 接口的实现;但是,也可以使用 UART 接口。 我们过去曾有过有关此主题的文档,但网站已不复存在(请参见此主题)。 我会看看我能否在内部找到它。
您可能还会发现主机驱动程序 API 非常有用。
谢谢,
雅各布
您好,Pradeepa,
我找到了一些文档页面,这些页面可能有助于指导您的 UART 与主机驱动程序的接口。 请参阅这些附件。
e2e.ti.com/.../CC3100-Host-Interface-_2D00_-Texas-Instruments-Wiki.pdf
e2e.ti.com/.../CC3100-SPI-Host-Interface-_2D00_-Texas-Instruments-Wiki.pdf
e2e.ti.com/.../CC3100-UART-Host-Interface-_2D00_-Texas-Instruments-Wiki.pdf
谢谢,
雅各布
你好,Jacob,
感谢您的回复。我们没有使用任何 RTOS。 在 SL_START() API 中,在该函数“RetVal=_SlDrvSyncObjWaitTimeout()”之前,调试时 RetVal 的值为-120,之后将设置为“未知状态”。此外,如果我们继续调试,则在调试器输入到 Error()函数后,它将被吸入 UART_WaitHandler UntilTimeout()。
在“WiFi 模块的 UART 接口”中进行一些查询。 您能否分享技术人员的邮件 ID 或您的邮件 ID,并请求召开一次小型会议来澄清问题,更快地工作将更有帮助。
你好,Jacob,
感谢您的宝贵回应。 我在这里附加了 UART 线路的波形(TX,RX,RTS,CTS),同时还附加了 CC3100 Wifi 模块的 NHIB (休眠)和 IRQ (中断)引脚的波形。
在上述波形中,指示 UART 线路(放大)。
第二个波形表示相同的 UART 线路(已缩小)。
在上述波形中,IRQ 引脚为 Channel_4,NHIB 引脚为 Channel_5。
谢谢,此致,
普拉迪帕。
你好,Jacob,
感谢您的回复。 我为 UART (如 UART.c 和.h 文件)创建了单独的头文件。在此文件中,实施了四项功能。
1.UART_Open()-->初始化 UART,禁用 CC3100。
2. UART_CLOSE ()-->取消 UART 初始化,禁用 CC3100中断。
3. UART_READ()-->使用 HAL 库 UART 功能接收数据。
4. UART_Write()-->使用 HAL 库 UART 功能传输数据。
在 SL_Start() API 中的 SL_OPEN ()函数后执行上述函数。这是我在软件中所做的更改,以启用 STM32F1和 CC3100之间的 UART 通信。
您好,Pradeepa,
我认为您还需要一个功能:UART_IRQ。 这将启用 主机 IRQ 的中断例程:
参照您的上述 UART 捕获,IRQ 线路应处于活动高电压。 初始化期间,当 nReset 保持较高时,会断言 NHIB。 在初始化完成之前,设备此时应将 HSOT_IRQ 线路驱动为低电平。 在初始化过程中,直到第一次断言 host_IRQ,主机不与设备通信非常重要。 否则,可能无法建立正确的连接。 请参阅《CC3100主机接口指南》(如上所附)中的更多详细信息。
NHIB 时间:
上面的 NHIB 引脚似乎已被断言,但 host_IRQ 线路始终很低。 它最初应该是高的,然后由设备驱动为低。
谢谢,
雅各布
您好,Pradeepa,
[引用 userid="456020" url="~/support/wireless-connectivity /wi-fi-group/wi-fi /f/wi-fi-forume/1067508/cc3100modboo-interfaced-with -stm32F1-controller-via -UART/3978799#3978799]\n 您的 NHIB 引脚似乎在上面被断言,但 HIRQ_host 线路始终很低。 最初应该是高的,然后由设备驱动的是低的。我想我可能在前面的一段话中弄糊涂了,我很抱歉。 我认为 host_IRQ 应该处于活动状态下,然后被驱动为高。 请参阅 CC3100 UART 主机命令流图形 I Shared。
此外,您的 CC3100 RTS 线路也应处于低有效状态。 您能驱动这些引脚并发布另一个 UART 逻辑分析仪跟踪吗? 此外,您使用什么波特率在两台设备之间进行通信?
谢谢,
雅各布
您好,Pradeepa,
UART_WaitOnFlagUntilTimeout()错误何时生成? SL_Start 是否成功返回?
关于 CC3100上的 UART 通信,重置行被切换,然后在声明 IRQ 后切换。 断言 IRQ 后,UART 通信开始。
如果 SL_Start 功能成功返回,但 UART 失败,请提交 SimpleLink Wi-Fi 硬件设计审查。
谢谢,
雅各布
你好,Jacob,
感谢您的回复。 SL_Start API 返回“1”(即模块设置为“未知状态”)。 中断不是来自 UART 通信中的 CC3100模块。 但当我使用 CC3100模块的 SPI 接口时,模块发生中断。
现在,在 CC3100MODBOOST WiFi 模块蒸发套件中,即使 SPI 接口也不会发生中断。这可能是什么问题? 模块是否处于工作状态? 还是其他原因?
TI 的某人是否可以有任何 解决方案? 进一步开展工作将非常有帮助。
谢谢,此致,
普拉迪帕
您好,Pradeepa,
首先,请确保 IRQ 和 RTS 线路与我在上一篇文章中共享的映像相匹配。 我可以告诉大家,当两条线路应该处于低电平时,这两条线路的状态就像高电平一样。
此外,确保定义 SL_IF_TYPE_UART,以便 SL_IfOpen 知道调用 UART_Open 而不是 SPI_Open。
在上面我共享的 CC3100 UART 主机接口文档中,您可以看到 SimpleLink 驱动程序调用 UART 驱动程序的正确功能。 您的实施是否通过了 SL_IfOpen?
谢谢,
雅各布
你好,Jacob,
感谢您的持续响应。 在 CC3100 WiFi 模块的 UART 接口中,我确保 IRQ 和 RTS 线路与您共享的上述图像不匹配。
以上波形显示 Host_IRQ 和 RTS 线路。 我不知道为什么它最初处于高位。 在构建项目时,我的代码中有一些警告。 这是否会导致任何问题?
在 SL_fopen() API 之后,UART 被初始化,在程序进入 UART_receive()函数后,它只收到两个值“0x7c”,“0xFE”。在此之后,调试器输入 UART_WaitOnFlagUntilTimeout()函数,最终被吸入错误处理程序()函数。
您好,Pradeepa,
我将补充一些关于您应该看到的内容的评论:NHIB 应该启动,然后设备应该发送“初始化完成”事件日志。 两者的 RTS 线路应较低,以允许数据交换。 只要 CC3100设备有主机待处理的内容,IRQ shoudl 就会很高,当主机向其发送数据时,IRQ shoudl 就会很低。
您能否根据随附的指南记录 NWP 日志? 我想看看您是否收到过“init complete”消息。 放大 TX 数据行并使所有其他行仍在帧中也很有帮助。
e2e.ti.com/.../2022.CC3100-_2600_-CC3200-Capture-NWP-Logs-_2D00_-Texas-Instruments-Wiki.pdf
谢谢,
雅各布
您好,Pradeepa,
没有,我们没有专门针对 CC3100模块的 UART 接口的示例。 在 CC3100SDK 的平台目录中,我们确实有用于 TIA-c-launchpad 和 msp430f5529lp 的 UART 示例。 您可以参考 STM32 UART 接口的参考。 您还可以在 E2E 上找到实施方案。
我还可以帮助处理我在上一篇文章中提到的 NWP 日志。
谢谢,
雅各布
您好,Pradeepa,
我不太熟悉调用 STM32所需的 API。 我建议查看这些博客中的信息:
对于 CC3100,您是否了解 了 CC3100SDK 中现有的一些主机驱动程序端口?
谢谢,
雅各布