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:定制板的 CC 3100 UART 接口问题

Guru**** 2535750 points
Other Parts Discussed in Thread: CC3100

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1065296/cc3100-cc-3100-uart-interface-issue-with-custom-board

器件型号:CC3100

HII、我正在使用带 UART 接口的 STM32F107处理定制板中的 CC3100 WIFI 模块。 当我使用该函数时、MODE = SL_START (0、0、0)设置站点模式、但我获得-100

CC3100                 微控制器

TX  -------------------  > RX

RX <---------------  TX

RTS -------------------------- > CTS

CTS <-------------------------------------------------------   RTS

IRQ ------------------------------------------------------- > IRQ    

我已经在 SPI 接口中完成了它的工作并且从 WiFi 模块(CC3100)接收到 IRQ、但是当我尝试与 UART 接口通信时、我没有获得 IRQ。 请帮助我解决此问题。                

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

    尊敬的 Arun:

    100错误是网络断开错误(SLNETERR_BSD_ENETDOWN)。 调试代码时、是否到达中断?

    谢谢、
    Jacob

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

    您好,Jacob,感谢您的回复。

    我正在使用的 SPI 接口中

    CC3100模块                         STM32F107

    1.错误-------- > MISO                                

    2.MOSI -------- > MOSI

    3.clk--- > CLK

    4.CS------ >CS

    5.HIB--- >GPIO_Output 引脚

    6.IRQ---------------- > IRQ (GPIO 被配置为外部中断)

    在此配置中、我将获得中断、根据我的配置、它将作为 AP 或站点模式工作

    但在 UART 接口中、我对引脚配置有疑问

    CC3100模块                           STM32F107

    1.Tx------------------------------ >UART_RX

    2.RX---- >UART_TX

    三、中、中、中、中、中、中、三、中、三、中、三、中、三、中、三、中、三、中、三、中、三、中、三、中、三、三、中、三、三、中、三、三、中、三 >UART_RTS

    4.rts---------------------------------- >UART_CTS

    5.HIB--- >GPIO_Output 引脚

    6.IRQ---------------- > IRQ (GPIO 被配置为外部中断)

    我不知道 UART 接口通信需要引脚5和引脚6。

    应用手册中提到了 UART 通信 IRQ、不需要休眠。

    请建议解决此问题的方法 对我们非常有帮助。

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

    尊敬的 Arun:

    我相信您的引脚配置是正确的。 您是否看到 在器件之间的 RX 和 TX 线路上发送了任何数据?  

    以下是 CC3100用户指南中的一些其他调试步骤

    1.您是否在  user.h 中添加了 SL_IF_TYPE_UART 定义?  

    2.您是否已将正确的 COM 端口和默认波特率指定为115200 (对于 sl_start)?

    3.您能否 确保已按照 CC3100和 STM32F4启动指南(随附)中的步骤进行操作?

    谢谢、
    Jacob

    e2e.ti.com/.../CC3100-_2600_-STM32F4-Bringup-Guide.pdf

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

    我已经验证了连接、并遵循 了您提到的相同波特率。

    我在 docklight 中测试过通信我正在接收某些数据、但不会在器件之间接收数据。

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

    尊敬的 Arun:

    我本周将在这里跟进。

    谢谢、
    Jacob

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

    谢谢 Jacob,请尽快帮助我们。

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

    尊敬的 Arun:

    您是否能够对 UART 引脚、IRQ 引脚和 HIB 引脚进行逻辑分析仪跟踪? 这将帮助我了解 IRQ 是否由 CC3100触发。

    您是否提交了定制电路板的硬件审核?

    您可能还需要查看此 相关 E2E 帖子 和 此帖子

    谢谢、
    Jacob

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

     在 UART 配置中不触发中断引脚、我在两个接口之间感到困惑、在 cc3100 评估板的 SPI 接口中、我们可以进行通信、但不能在 UART 接口中进行通信。

    遗憾的是,在关税板中 ,我们只提供 UART 接口,请尽快帮助我解决此问题。

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

    尊敬的 Arun:

    您是否能够捕获任何有助于调试的屏幕截图? 您如何知道 IRQ 导致了此问题?

    本文档可能对您有用: e2e.ti.com/.../5226.CC3100-UART-Host-Interface-_2D00_-Texas-Instruments-Wiki.pdf

    谢谢、
    Jacob

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

    对于 UART 接口,我在 user.h 文件中使用了以下代码行,请查看修改内容并分享您的观点


    #ifndef sl_if_type_uart
    #define SL_IfMaskIntHdlr ()
    其他
    #define SL_IfMaskIntHdlr       MaskIntHdlr
    #endif


    //#define SL_IfMaskIntHdlr ()

    /*!
       \brief      解除屏蔽主机 IRQ

       sa      sl_IfMaskIntHdlr



       \note      属于\ref porting_sec

       警告
    *

    #ifndef sl_if_type_uart
    #define SL_IfUnMaskIntHdlr ()
    其他
    #define SL_IfUnMaskIntHdlr    UnMaskIntHdlr
    #endif
    /*!

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

    尊敬的 Arun:

    这些是您所做的所有更改吗? 我将在下周跟进。

    谢谢、
    Jacob

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

    是的,我已在代码中进行了此更改

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

    尊敬的 Arun:

    除了 sl_IfMaskIntHdlr()之外,还应实现以下函数:

    • UART_OPEN
    • UART_Close
    • UART_READ
    • UART_WRITE
    • SL_IfRegIntHdlr

    请参阅有关 CC3100主机接口 的文档:e2e.ti.com/.../3733.CC3100-Host-Interface-_2D00_-Texas-Instruments-Wiki.pdf

    此外、使用逻辑分析仪跟踪 UART 通信将会非常有帮助。

    谢谢、
    Jacob

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

    您好、Jacob、

    感谢您的回复,在您输入内容时,我已完成了所有操作,我已将 API 粘贴到您的参考。 请检查 API、如果出现问题、请纠正我的问题。

    fd_t UART_Open (char * ifName、unsigned long 标志)

       /* 50ms 延迟*/
          mx_USART2_UART_Init();
         //延迟(50);
          返回 Nonos_RET_OK;


    int uart_read (fd_t fd、unsigned char * pBuff、int len)

       /*禁用中断以保护字节的重新排序*/
       if (HAL_UART_Receive (&huart2、pBuff、len、50)!= HAL_OK)
          {
             ERROR_Handler();
          }
          返回 len;




    int UART_Write (fd_t fd、unsigned char * pBuff、int len)

       if (HAL_UART_transmit (&huart2、pBuff、len、50)!= HAL_OK)
       {
                ERROR_Handler();
       }
       返回 len;


    int uart_close (fd_t fd)

       HAL_UART_DeInit (&huart2);
       返回 Nonos_RET_OK;


    void CC3100_disable()

       GPIO_PinOutClear (MCU_NHIB_PORT、MCU_NHIB_PIN);


    /*!
       此             函数启用 CC3100器件
       \param             无
       \无返回             
       注意
       警告
    *
    void CC3100_enable()

       HAL_DELAY (50);
       GPIO_PinOutSet (MCU_NHIB_PORT、MCU_NHIB_PIN);


    void MaskIntHdlr()

       IntIsMased = true;


    空 UnMaskIntHdlr()

       IntIsMsed = false;


    /*!
       此             函数用于启用 ALn IRQ 引脚
       \param             无
       \无返回             
       注意
       警告
    *
    void CC3100_InterruptEnable()

       /*在中断模式下配置 EXTI Line0 (连接到 PA0引脚)*/
       EXTILine0_Config (真);
    #ifdef sl_if_type_uart
       ///ROM_UARTIntEnable (UART1_BASE、UART_INT_RX);
    #endif


    /*!
       \brief             此函数禁用 ALn IRQ 引脚
       \param             无
       \无返回             
       注意
       警告
    *
    void CC3100_InterruptDisable()

       EXTILine0_Config (false);
    #ifdef sl_if_type_uart
        ///ROM_UARTIntDisable (UART1_BASE、UART_INT_RX);
    #endif



    /**
     *@EXTI 线检测回调的简短说明
     *@param GPIO_Pin:指定连接 EXTI 线路的引脚
     *@Retval 无
     *
    void HAL_GPIO_EXTI_Callback (uint16_t GPIO_Pin)

       if ((GPIO_Pin =MCU_IRQ_PIN)&&(pIrqEventHandler))
       {
           pIrqEventHandler (0);

       }


    /**/
    int 寄存器 InterruptHandler (P_EVENT_Handler InterruptHdl,void* pValue)

       pIrqEventHandler = InterruptHdl;
       返回0;

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

    尊敬的 Arun:

    这些功能对我来说似乎是可以的。 它们是否正常工作? 您是否能够提供 UART 流量的逻辑分析仪跟踪?

    下面是我找到的与 STM32 HAL UART 相关的链接集合:

    谢谢、
    Jacob

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

    感谢您的回复 Jacob,UART 配置工作正常,我已经在 STM 板上测试了相同的配置,我可以发送和接收数据,但当我将 UART 连接到 cc3100模块时,我无法建立通信。

    我还有一个请求、在上一条消息中、我也上传了中断配置、请再次检查、如果出现问题、请纠正。

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

    尊敬的 Arun:

    我明天会跟进。

    谢谢、
    Jacob

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

    尊敬的 Arun:

    很抱歉耽误您的时间-您的中断处理程序看起来与我 在这个主题中看到的内容类似。 这是否正确地生成以下 IRQ:

    谢谢、
    Jacob