主题中讨论的其他器件: CC3135、 CC3100
我正在使用 CC3135MOD。 我想通过 UART 协议将 CC3135MOD 与 STM32L4相连。 我需要有关如何开始实施 SDK 的指导、因为我看到 CC3135SDK 在函数中仅使用 SPI。 那么、请建议我如何使用 UART 开始实施? 因为我是 TI 论坛的新成员。 请建议参考文档、SDK 等、以便我可以快速开始开发的进一步步骤。
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.
我正在使用 CC3135MOD。 我想通过 UART 协议将 CC3135MOD 与 STM32L4相连。 我需要有关如何开始实施 SDK 的指导、因为我看到 CC3135SDK 在函数中仅使用 SPI。 那么、请建议我如何使用 UART 开始实施? 因为我是 TI 论坛的新成员。 请建议参考文档、SDK 等、以便我可以快速开始开发的进一步步骤。
您好、Sudep、
您使用 UART 的原因是什么? SPI 的使用将会更快、更简单。 我们甚至提供了移植指南、其中演示了如何通过 SPI 将 CC31xx 器件与 STM32L4搭配使用: https://www.ti.com/lit/swra704
如果必须使用 UART、请查看 NWP 编程人员指南中的第19节"移植主机驱动程序"以及第3.4节"主机接口"。 我们目前没有任何使用 UART 的演示。
此致、
Sarah
您好、Sarah、
感谢您的宝贵支持。 实际上、您是对的、我应该使用 SPI 而不是 UART、因为 SDK 可用、但如果我没有提供与主机控制器的 HOST_INTR 连接、请告诉我。 因为我的硬件是定制的。 我只有 HOST_SPI_CLK、HOST_SPI_DIN、HOST_SPI_DOUT、HOST_SPI_CS_N 和 HIB_N 引脚可供使用、因为它们连接到 STM32L4。 是否可以使用使用使用 SPI 的 SDK、因为它没有 HOST_INTR 引脚。 请建议。 如果有、请提供参考链接。 等待您的回复。 再次感谢。
您好、Sudep、
SPI 和 UART 之间的大部分移植层是相同的、但请注意 IRQ 处理程序的使用方式差异。 我之前可能忘了提及它、但 NWP 程序员指南的附录 D 中有更多信息。
此致、
Sarah
您好、Sarah、
正如我告诉过您的、我现在已经开始使用 SPI 进行 cc3135mod 工作了。 我使用的是 stm32l4系列 MCU。 正如我从移植指南2.1部分中看到的、它明确提到我应该使用 SimpleLink Wi-Fi CC32xx SDK for ARM M4、因此我已经阅读了 cc_PAL.c、cc.pal.h 和 user.h 文件。
在移植指南中、我们给出了要启用和禁用 N2HIB 信号、
空 NwpPowerOn (空)
{
HAL_GPIO_WritePin (HOST_NHIB_PORT、HOST_NHIB_PIN、1);
}
空 NwpPowerOff (空)
{
HAL_GPIO_WritePin (HOST_NHIB_PORT、HOST_NHIB_PIN、0);
/*等待10msec */ HAL_DELAY (10);
}
但在 SDK 中、我看到逻辑是相同的、但写入方式不同、如下所示、
空 NwpPowerOn (空)
{
/*使1.32 ECO 退出复位*/
HWREG (NWP_SPARE_REG_5)&=~NWP_SPARE_REG_5_SLSTOP;
/*清除主机 IRQ 指示*/
HWREG (N2A_INT_ACK)= 1;
/* NWP 唤醒*/
HWREG (WAKENWP)= WAKENWP_WAKEREQ;
//取消屏蔽主机中断
NwpUnMaskInterrupt();
}
空 NwpPowerOff (空)
{
volatile unsigned long apps_int_sts_raw;
volatile unsigned long sl_stop_ind = HWREG (NWP_SPARE_REG_5);
易失性无符号长整型 NWP_LPDs_WAKE_cfg = HWREG (NWP_LPD_WAKEEPCFG);
_SlTimeoutParams_t SlTimeoutInfo ={0};
if (((NWP_LPDs_WAKE_cfg!= NWP_LPD_WAKEUPCFG_APPS2NWP)&&//检查 NWP POR 条件- APPS2NWP 是复位条件*/
!(sl_stop_ind & NWP_SPARE_REG_5_SLSTOP))/*检查是否已执行 sl_stop *
{
HWREG (0xE000E104)= 0x200;//启用带外中断,这不是唤醒源*/
HWREG (A2N_INT_TRIG)= 0x1;/*触发带外中断*
HWREG (WAKENWP)= WAKENWP_WAKEREQ;//唤醒 NWP *
_SlDrvStartMeasureTimeout (&SlTimeoutInfo、NWP_N2A_INT_ACK_TIMEOUT_msec);
/*等待 NWP 清除 A2N_INT_TRIG 以指示其处于唤醒状态并准备好关断。
*轮询直到 APP->NWP 中断被清除或超时:
*对于 Service Pack 3.1.99.1或更高版本,此条件在不到1毫秒内即可满足。
*否则、在某些情况下、可能需要长达3000毫秒的等待时间。 *
APPS_INT_STS_RAW = HWREG (A2N_INT_STS_RAW);
while (!(apps_int_sts_raw 和0x1))
{
if (_SlDrvIsTimeoutExpired (&SlTimeoutInfo))
{
中断;
}
APPS_INT_STS_RAW = HWREG (A2N_INT_STS_RAW);
}
WAIT_NWP_SHUTDOWN_READY;
}
/*清除带外中断、由 NWP 确认*/
HWREG (A2N_INT_STS_CLR)= 0x1;
/*屏蔽主机中断*/
NwpMaskInterrupt();
/*切换到 PFM 模式*/
HWREG (ANA_DCDC_PARAMS0)&=~ANA_DCDC_PARAMS0_PWMOVERRIDE;
PG1.32器件的/* sl_stop ECO *
HWREG (NWP_SPARE_REG_5)|= NWP_SPARE_REG_5_SLSTOP;
/*等待20 μ s、这是开-关周期之间的最短时间*/
USEC_DELAY (20);
}
我是否需要根据 移植指南第2.1节中提到的已为 N2HIB 引脚设置的 GPIO 来更改 cc_PAL.c 文件中的函数?